Date: Mon, 09 Apr 2012 08:51:13 +0300 From: Mikolaj Golub <trociny@freebsd.org> To: Jason Hellenthal <jhellenthal@dataix.net> Cc: stable@freebsd.org, src-committers@freebsd.org Subject: Re: svn commit: r233953 - stable/8/usr.bin/procstat Message-ID: <861unxqwq6.fsf@in138.ua3> In-Reply-To: <20120408211218.GA62178@DataIX.net> (Jason Hellenthal's message of "Sun, 8 Apr 2012 17:12:18 -0400") References: <201204061632.q36GWTT2017212@svn.freebsd.org> <20120408211218.GA62178@DataIX.net>
next in thread | previous in thread | raw e-mail | index | archive | help
On Sun, 8 Apr 2012 17:12:18 -0400 Jason Hellenthal wrote: JH> This commit in action does not seem to be doing the correct thing even JH> though it does report an error when kern.proc.pathname is not known. JH> Running procstat -a -b produces: JH> [...] JH> 1848 ksh 803500 /bin/ksh JH> procstat: sysctl: kern.proc.pathname: 2208: No such file or directory Plese note, the error was generated by kern.proc.pathname sysctl, not kern.proc.osrel. I suppose it is because /bin/ksh binary had been reinstalled and 1848 ran the old binary. My commit has not touched the kern.proc.pathname part and the same bahavior was before the change. JH> 2210 ksh 803500 /bin/ksh JH> [...] JH> While procstat -a produces: JH> [...] JH> 1848 1846 1848 1848 1848 1 jhellenthal wait FreeBSD ELF32 ksh JH> 2208 1814 2208 2208 0 1 jhellenthal select FreeBSD ELF32 xterm JH> 2210 2208 2210 2210 2210 1 jhellenthal wait FreeBSD ELF32 ksh JH> [...] JH> If process 2208 can be seen during (procstat -a) I do not see a reason JH> to bailout and print an error when (-b) is used. Just print the JH> orrelease as (0) and print the rest of the information that should be JH> seen... JH> Could someone have a closer look at this? JH> 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" JH> -- JH> ;s =; -- Mikolaj Golub
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?861unxqwq6.fsf>