procstat binary: do not skip pid if either path or osrel sysctls failed
PR: 295893 Reviewed by: emaste Sponsored by: The FreeBSD Foundation MFC after: 1 week Differential revision: https://reviews.freebsd.org/D57493
This commit is contained in:
@@ -35,6 +35,7 @@
|
||||
#include <errno.h>
|
||||
#include <libprocstat.h>
|
||||
#include <limits.h>
|
||||
#include <signal.h>
|
||||
#include <stdio.h>
|
||||
#include <string.h>
|
||||
|
||||
@@ -50,12 +51,13 @@ procstat_bin(struct procstat *prstat, struct kinfo_proc *kipp)
|
||||
xo_emit("{T:/%5s %-16s %8s %s}\n", "PID", "COMM", "OSREL",
|
||||
"PATH");
|
||||
|
||||
if (procstat_getpathname(prstat, kipp, pathname, sizeof(pathname)) != 0)
|
||||
if (kill(kipp->ki_pid, 0) == -1)
|
||||
return;
|
||||
if (strlen(pathname) == 0)
|
||||
if (procstat_getpathname(prstat, kipp, pathname, sizeof(pathname))
|
||||
!= 0 || strlen(pathname) == 0)
|
||||
strcpy(pathname, "-");
|
||||
if (procstat_getosrel(prstat, kipp, &osrel) != 0)
|
||||
return;
|
||||
osrel = -1;
|
||||
|
||||
xo_emit("{k:process_id/%5d/%d} ", kipp->ki_pid);
|
||||
xo_emit("{:command/%-16s/%s} ", kipp->ki_comm);
|
||||
|
||||
Reference in New Issue
Block a user