From 5485c3196f8a2f0f67020f57e3d4ae6761413eae Mon Sep 17 00:00:00 2001 From: trociny Date: Fri, 6 Apr 2012 16:32:29 +0000 Subject: [PATCH] MFC r233390: When displaying binary information show also osreldate. Suggested by: kib git-svn-id: svn://svn.freebsd.org/base/stable/8@233953 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f --- usr.bin/procstat/procstat.1 | 4 +++- usr.bin/procstat/procstat_bin.c | 16 ++++++++++++++-- 2 files changed, 17 insertions(+), 3 deletions(-) diff --git a/usr.bin/procstat/procstat.1 b/usr.bin/procstat/procstat.1 index dab1c2b7a..b069a3408 100644 --- a/usr.bin/procstat/procstat.1 +++ b/usr.bin/procstat/procstat.1 @@ -25,7 +25,7 @@ .\" .\" $FreeBSD$ .\" -.Dd March 7, 2010 +.Dd March 23, 2012 .Dt PROCSTAT 1 .Os .Sh NAME @@ -98,6 +98,8 @@ Display the process ID, command, and path to the process binary: process ID .It COMM command +.It OSREL +osreldate for process binary .It PATH path to process binary (if available) .El diff --git a/usr.bin/procstat/procstat_bin.c b/usr.bin/procstat/procstat_bin.c index 8ed5efed9..a5e1b74a9 100644 --- a/usr.bin/procstat/procstat_bin.c +++ b/usr.bin/procstat/procstat_bin.c @@ -42,11 +42,11 @@ void procstat_bin(pid_t pid, struct kinfo_proc *kipp) { char pathname[PATH_MAX]; - int error, name[4]; + int error, osrel, name[4]; size_t len; if (!hflag) - printf("%5s %-16s %-53s\n", "PID", "COMM", "PATH"); + printf("%5s %-16s %8s %s\n", "PID", "COMM", "OSREL", "PATH"); name[0] = CTL_KERN; name[1] = KERN_PROC; @@ -64,7 +64,19 @@ procstat_bin(pid_t pid, struct kinfo_proc *kipp) if (len == 0 || strlen(pathname) == 0) strcpy(pathname, "-"); + name[2] = KERN_PROC_OSREL; + + len = sizeof(osrel); + error = sysctl(name, 4, &osrel, &len, NULL, 0); + if (error < 0 && errno != ESRCH) { + warn("sysctl: kern.proc.osrel: %d", pid); + return; + } + if (error < 0) + return; + printf("%5d ", pid); printf("%-16s ", kipp->ki_comm); + printf("%8d ", osrel); printf("%s\n", pathname); } -- 2.45.0