diff options
author | Bernhard Reutner-Fischer <rep.dot.nop@gmail.com> | 2008-09-05 12:05:47 +0000 |
---|---|---|
committer | Bernhard Reutner-Fischer <rep.dot.nop@gmail.com> | 2008-09-05 12:05:47 +0000 |
commit | a959a858a36fd88c1adc4ef5a05d621d555df63e (patch) | |
tree | 2373169d946b8f7ec3335128422e6d309a8b9ddf /procps | |
parent | 2957fc699207d8e855c7024f8f91c451cf018952 (diff) | |
download | busybox-w32-a959a858a36fd88c1adc4ef5a05d621d555df63e.tar.gz busybox-w32-a959a858a36fd88c1adc4ef5a05d621d555df63e.tar.bz2 busybox-w32-a959a858a36fd88c1adc4ef5a05d621d555df63e.zip |
- pull r22872 from trunk:
pidof/killall: allow find_pid_by_name to find running
processes started as scripts_with_name_longer_than_15_bytes.sh
closes bug 4054 (and is generally neat)
Diffstat (limited to 'procps')
-rw-r--r-- | procps/pgrep.c | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/procps/pgrep.c b/procps/pgrep.c index 336fa84ba..f08d6cc5f 100644 --- a/procps/pgrep.c +++ b/procps/pgrep.c | |||
@@ -111,8 +111,14 @@ int pgrep_main(int argc ATTRIBUTE_UNUSED, char **argv) | |||
111 | if (proc->pid == pid) | 111 | if (proc->pid == pid) |
112 | continue; | 112 | continue; |
113 | cmd = proc->argv0; | 113 | cmd = proc->argv0; |
114 | if (!cmd) | 114 | if (!cmd) { |
115 | cmd = proc->comm; | 115 | cmd = proc->comm; |
116 | } else { | ||
117 | int i = proc->argv_len; | ||
118 | while (i) { | ||
119 | if (!cmd[i]) cmd[i] = ' '; | ||
120 | i--; | ||
121 | } | ||
116 | /* NB: OPT_INVERT is always 0 or 1 */ | 122 | /* NB: OPT_INVERT is always 0 or 1 */ |
117 | if ((regexec(&re_buffer, cmd, 1, re_match, 0) == 0 /* match found */ | 123 | if ((regexec(&re_buffer, cmd, 1, re_match, 0) == 0 /* match found */ |
118 | && (!OPT_ANCHOR || (re_match[0].rm_so == 0 && re_match[0].rm_eo == (regoff_t)strlen(cmd)))) ^ OPT_INVERT | 124 | && (!OPT_ANCHOR || (re_match[0].rm_so == 0 && re_match[0].rm_eo == (regoff_t)strlen(cmd)))) ^ OPT_INVERT |