diff options
author | Denis Vlasenko <vda.linux@googlemail.com> | 2007-06-30 08:03:26 +0000 |
---|---|---|
committer | Denis Vlasenko <vda.linux@googlemail.com> | 2007-06-30 08:03:26 +0000 |
commit | f7d07b1723c15ee818f0c1f5cce96c55274024a6 (patch) | |
tree | b7f847c25ce3705d315ce4f0ac1b7976fae58cc6 /include | |
parent | 42ee26d00cc9c9a6cf1f652a5351b30ac221fa34 (diff) |
killall, pidof: use argv0 for process matching too
top: show cmdline, not comm field
(fixes problems with re-execed applets showing as processes with name "exe",
and not being found by pidof/killall by applet name)
function old new delta
find_pid_by_name 98 156 +58
procps_scan 692 732 +40
top_main 2724 2762 +38
find_pair 164 180 +16
collect_int 114 123 +9
cmp_main 547 555 +8
collect_fork 112 119 +7
collect_ctx 112 119 +7
read_package_field 253 257 +4
passwd_main 1983 1985 +2
process_stdin 435 433 -2
xstrtoul_range_sfx 229 226 -3
get_next_block 1852 1849 -3
arith 2042 2033 -9
sv_main 1236 1226 -10
singlemount 4690 4672 -18
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 10/6 up/down: 189/-45) Total: 144 bytes
text data bss dec hex filename
734789 3028 14400 752217 b7a59 busybox_old
734933 3028 14400 752361 b7ae9 busybox_unstripped
Diffstat (limited to 'include')
-rw-r--r-- | include/libbb.h | 18 |
1 files changed, 11 insertions, 7 deletions
diff --git a/include/libbb.h b/include/libbb.h index 124b11fa8..e80e76403 100644 --- a/include/libbb.h +++ b/include/libbb.h @@ -836,6 +836,8 @@ typedef struct { DIR *dir; /* Fields are set to 0/NULL if failed to determine (or not requested) */ char *cmd; + char *argv0; + /*char *exe;*/ USE_SELINUX(char *context;) /* Everything below must contain no ptrs to malloc'ed data: * it is memset(0) for each process in procps_scan() */ @@ -861,13 +863,15 @@ enum { PSSCAN_UIDGID = 1 << 4, PSSCAN_COMM = 1 << 5, PSSCAN_CMD = 1 << 6, - PSSCAN_STATE = 1 << 7, - PSSCAN_VSZ = 1 << 8, - PSSCAN_RSS = 1 << 9, - PSSCAN_STIME = 1 << 10, - PSSCAN_UTIME = 1 << 11, - PSSCAN_TTY = 1 << 12, - USE_SELINUX(PSSCAN_CONTEXT = 1 << 13,) + PSSCAN_ARGV0 = 1 << 7, + PSSCAN_EXE = 1 << 8, /* not implemented yet */ + PSSCAN_STATE = 1 << 9, + PSSCAN_VSZ = 1 << 10, + PSSCAN_RSS = 1 << 11, + PSSCAN_STIME = 1 << 12, + PSSCAN_UTIME = 1 << 13, + PSSCAN_TTY = 1 << 14, + USE_SELINUX(PSSCAN_CONTEXT = 1 << 15,) /* These are all retrieved from proc/NN/stat in one go: */ PSSCAN_STAT = PSSCAN_PPID | PSSCAN_PGID | PSSCAN_SID | PSSCAN_COMM | PSSCAN_STATE |