From 459e4d6cf77940977a064edab60c7162731554fb Mon Sep 17 00:00:00 2001 From: Denis Vlasenko Date: Sun, 5 Nov 2006 00:43:51 +0000 Subject: replace /proc scanning code by more versatile one. Use it where appropriate. Stop scanning /etc/passwd *for every process*!!! (uid->username) top: reduce memory usage - we won't save unneeded fields from /proc info anymore. Downside: ~+250 bytes of code --- libbb/find_pid_by_name.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'libbb/find_pid_by_name.c') diff --git a/libbb/find_pid_by_name.c b/libbb/find_pid_by_name.c index 05f7f968f..e98616940 100644 --- a/libbb/find_pid_by_name.c +++ b/libbb/find_pid_by_name.c @@ -23,11 +23,11 @@ pid_t* find_pid_by_name(const char* procName) { pid_t* pidList; int i = 0; - procps_status_t* p; + procps_status_t* p = NULL; pidList = xmalloc(sizeof(*pidList)); - while ((p = procps_scan(0)) != 0) { - if (strncmp(p->short_cmd, procName, COMM_LEN-1) == 0) { + while ((p = procps_scan(p, PSSCAN_PID|PSSCAN_COMM))) { + if (strncmp(p->comm, procName, sizeof(p->comm)-1) == 0) { pidList = xrealloc(pidList, sizeof(*pidList) * (i+2)); pidList[i++] = p->pid; } -- cgit v1.2.3