Date: Sun, 8 Apr 2012 17:12:18 -0400 From: Jason Hellenthal <jhellenthal@dataix.net> To: Mikolaj Golub <trociny@freebsd.org> Cc: stable@freebsd.org, src-committers@freebsd.org Subject: Re: svn commit: r233953 - stable/8/usr.bin/procstat Message-ID: <20120408211218.GA62178@DataIX.net> In-Reply-To: <201204061632.q36GWTT2017212@svn.freebsd.org> References: <201204061632.q36GWTT2017212@svn.freebsd.org>
next in thread | previous in thread | raw e-mail | index | archive | help
This commit in action does not seem to be doing the correct thing even though it does report an error when kern.proc.pathname is not known. Running procstat -a -b produces: [...] 1848 ksh 803500 /bin/ksh procstat: sysctl: kern.proc.pathname: 2208: No such file or directory 2210 ksh 803500 /bin/ksh [...] While procstat -a produces: [...] 1848 1846 1848 1848 1848 1 jhellenthal wait FreeBSD ELF32 ksh 2208 1814 2208 2208 0 1 jhellenthal select FreeBSD ELF32 xterm 2210 2208 2210 2210 2210 1 jhellenthal wait FreeBSD ELF32 ksh [...] If process 2208 can be seen during (procstat -a) I do not see a reason to bailout and print an error when (-b) is used. Just print the orrelease as (0) and print the rest of the information that should be seen... Could someone have a closer look at this? On Fri, Apr 06, 2012 at 04:32:29PM +0000, Mikolaj Golub wrote: > Author: trociny > Date: Fri Apr 6 16:32:29 2012 > New Revision: 233953 > URL: http://svn.freebsd.org/changeset/base/233953 > > Log: > MFC r233390: > > When displaying binary information show also osreldate. > > Suggested by: kib > > Modified: > stable/8/usr.bin/procstat/procstat.1 > stable/8/usr.bin/procstat/procstat_bin.c > Directory Properties: > stable/8/usr.bin/procstat/ (props changed) > > Modified: stable/8/usr.bin/procstat/procstat.1 > ============================================================================== > --- stable/8/usr.bin/procstat/procstat.1 Fri Apr 6 16:31:29 2012 (r233952) > +++ stable/8/usr.bin/procstat/procstat.1 Fri Apr 6 16:32:29 2012 (r233953) > @@ -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 pat > process ID > .It COMM > command > +.It OSREL > +osreldate for process binary > .It PATH > path to process binary (if available) > .El > > Modified: stable/8/usr.bin/procstat/procstat_bin.c > ============================================================================== > --- stable/8/usr.bin/procstat/procstat_bin.c Fri Apr 6 16:31:29 2012 (r233952) > +++ stable/8/usr.bin/procstat/procstat_bin.c Fri Apr 6 16:32:29 2012 (r233953) > @@ -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_pro > 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); > } > _______________________________________________ > svn-src-stable-8@freebsd.org mailing list > http://lists.freebsd.org/mailman/listinfo/svn-src-stable-8 > To unsubscribe, send any mail to "svn-src-stable-8-unsubscribe@freebsd.org" -- ;s =;
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20120408211218.GA62178>