diff options
author | Denys Vlasenko | 2019-06-15 18:35:39 +0200 |
---|---|---|
committer | Denys Vlasenko | 2019-06-15 18:35:39 +0200 |
commit | 3a0eea0887d72f28d13d329be90fe4082cbbd427 (patch) | |
tree | 13e78e527233cca6fd6024f3418d983ae6b812ee | |
parent | 070aa6174728d35077d98e875717358ccfbf2870 (diff) | |
download | busybox-3a0eea0887d72f28d13d329be90fe4082cbbd427.zip busybox-3a0eea0887d72f28d13d329be90fe4082cbbd427.tar.gz |
pidof: support "pidof /path/to/binary" case
function old new delta
find_pid_by_name 230 227 -3
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
-rw-r--r-- | libbb/find_pid_by_name.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/libbb/find_pid_by_name.c b/libbb/find_pid_by_name.c index abbf293..fe13f72 100644 --- a/libbb/find_pid_by_name.c +++ b/libbb/find_pid_by_name.c @@ -90,7 +90,11 @@ pid_t* FAST_FUNC find_pid_by_name(const char *procName) /* or we require argv0 to match (essential for matching reexeced /proc/self/exe)*/ || (p->argv0 && strcmp(bb_basename(p->argv0), procName) == 0) /* or we require /proc/PID/exe link to match */ - || (p->exe && strcmp(bb_basename(p->exe), procName) == 0) + || (p->exe && strcmp( + procName[0] == '/' ? p->exe /* support "pidof /path/to/binary" case too */ + : bb_basename(p->exe), + procName + ) == 0) ) { pidList = xrealloc_vector(pidList, 2, i); pidList[i++] = p->pid; |