diff options
author | Denis Vlasenko <vda.linux@googlemail.com> | 2007-09-29 22:26:01 +0000 |
---|---|---|
committer | Denis Vlasenko <vda.linux@googlemail.com> | 2007-09-29 22:26:01 +0000 |
commit | 72e1c89d971aa2e37abf705c6a01f002deac09b8 (patch) | |
tree | 6edb25e260701f9f6e49769e4bb7e31e7e2e6063 /libbb | |
parent | 2450e4ba44707a64920ea6c9276930a1210e76cc (diff) | |
download | busybox-w32-72e1c89d971aa2e37abf705c6a01f002deac09b8.tar.gz busybox-w32-72e1c89d971aa2e37abf705c6a01f002deac09b8.tar.bz2 busybox-w32-72e1c89d971aa2e37abf705c6a01f002deac09b8.zip |
pgrep,pkill: new applets by Loic Grenie <loic.grenie@gmail.com>
Diffstat (limited to 'libbb')
-rw-r--r-- | libbb/procps.c | 11 | ||||
-rw-r--r-- | libbb/u_signal_names.c | 15 |
2 files changed, 25 insertions, 1 deletions
diff --git a/libbb/procps.c b/libbb/procps.c index e62e5a1f1..476e1f34d 100644 --- a/libbb/procps.c +++ b/libbb/procps.c | |||
@@ -375,13 +375,22 @@ procps_status_t *procps_scan(procps_status_t* sp, int flags) | |||
375 | } | 375 | } |
376 | } | 376 | } |
377 | #else | 377 | #else |
378 | if (flags & PSSCAN_ARGV0) { | 378 | if (flags & *PSSCAN_ARGV0|PSSCAN_ARGVN)) { |
379 | free(sp->argv0); | 379 | free(sp->argv0); |
380 | sp->argv0 = NULL; | 380 | sp->argv0 = NULL; |
381 | strcpy(filename_tail, "/cmdline"); | 381 | strcpy(filename_tail, "/cmdline"); |
382 | n = read_to_buf(filename, buf); | 382 | n = read_to_buf(filename, buf); |
383 | if (n <= 0) | 383 | if (n <= 0) |
384 | break; | 384 | break; |
385 | #if ENABLE_PGREP || ENABLE_PKILL | ||
386 | if (flags & PSSCAN_ARGVN) { | ||
387 | do { | ||
388 | n--; | ||
389 | if (buf[n] == '\0') | ||
390 | buf[n] = ' '; | ||
391 | } while (n); | ||
392 | } | ||
393 | #endif | ||
385 | sp->argv0 = xstrdup(buf); | 394 | sp->argv0 = xstrdup(buf); |
386 | } | 395 | } |
387 | #endif | 396 | #endif |
diff --git a/libbb/u_signal_names.c b/libbb/u_signal_names.c index f8eaea76d..5a6f592aa 100644 --- a/libbb/u_signal_names.c +++ b/libbb/u_signal_names.c | |||
@@ -159,3 +159,18 @@ const char *get_signame(int number) | |||
159 | 159 | ||
160 | return itoa(number); | 160 | return itoa(number); |
161 | } | 161 | } |
162 | |||
163 | |||
164 | // Print the whole signal list | ||
165 | |||
166 | void print_signames_and_exit(void) | ||
167 | { | ||
168 | int signo; | ||
169 | |||
170 | for (signo = 1; signo < ARRAY_SIZE(signals); signo++) { | ||
171 | const char *name = signals[signo]; | ||
172 | if (name[0]) | ||
173 | puts(name); | ||
174 | } | ||
175 | exit(EXIT_SUCCESS); | ||
176 | } | ||