Index: ps.cc =================================================================== RCS file: /cvs/src/src/winsup/utils/ps.cc,v retrieving revision 1.26 diff -u -p -r1.26 ps.cc --- ps.cc 11 May 2009 14:01:17 -0000 1.26 +++ ps.cc 9 Dec 2009 06:23:27 -0000 @@ -257,7 +257,7 @@ int main (int argc, char *argv[]) { external_pinfo *p; - int aflag, lflag, fflag, sflag, uid, proc_id; + int aflag, lflag, fflag, sflag, uid, proc_id, found_proc_id; cygwin_getinfo_types query = CW_GETPINFO; const char *dtitle = " PID TTY STIME COMMAND\n"; const char *dfmt = "%7d%4s%10s %s\n"; @@ -271,6 +271,7 @@ main (int argc, char *argv[]) aflag = lflag = fflag = sflag = 0; uid = getuid (); proc_id = -1; + found_proc_id = 0; lflag = 1; prog_name = strrchr (argv[0], '/'); @@ -368,7 +369,12 @@ main (int argc, char *argv[]) pid = p->pid) { if ((proc_id > 0) && (p->pid != proc_id)) - continue; + { + if(p->pid != proc_id) + continue; + else + found_proc_id = 1; + } if (aflag) /* nothing to do */; @@ -499,6 +505,9 @@ main (int argc, char *argv[]) } (void) cygwin_internal (CW_UNLOCK_PINFO); + if( proc_id > 0 && !found_proc_id ) + return 1; + return 0; }