Date: Tue, 9 Mar 2004 10:58:43 +0200 From: Ruslan Ermilov <ru@freebsd.org> To: Garance A Drosihn <drosih@rpi.edu> Cc: current@freebsd.org Subject: Re: Question on 'ps -p <n>' in current Message-ID: <20040309085843.GD55680@ip.net.ua> In-Reply-To: <p060204e7bc72d891f49a@[128.113.24.47]> References: <p060204e7bc72d891f49a@[128.113.24.47]>
next in thread | previous in thread | raw e-mail | index | archive | help
--x4pBfXISqBoDm8sr Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Mon, Mar 08, 2004 at 09:40:21PM -0500, Garance A Drosihn wrote: > This topic may have come up before, a long time ago, and I just > missed it. If so, apologies for the repeat. >=20 > On stable, if you say 'ps -p <n>', and there is no process '<n>', > then you get the header-line from 'ps' and nothing else. The > command-status is set to indicate failure. >=20 > On -current, the same command gives you the error message: >=20 > ps: kvm_getprocs: No such process >=20 > and you get no header line. Other OS's also give you the header > line and no special error message. >=20 > I think this behavior in current is an unplanned side-effect of > the change in revision 1.46 of > http://www.freebsd.org/cgi/cvsweb.cgi/src/lib/libkvm/kvm_proc.c >=20 > where that was fixing a side-effect of a fix in revision 1.60 > of malloc.c. >=20 I don't think that rev. 1.46 is the problem. The sysctl is what returns ESRCH if no process exists. In RELENG_4, it returns 0. See sys/kern/kern_proc.c:sysctl_kern_proc(), the handing of KERN_PROC_PID. The semantics has been changed in rev. 1.192. > In some other OS's, 'ps' behaves the way it does for us in -stable. > Looking at SUSv3, it's not clear to me if either behavior is > preferred. >=20 > Should 'ps' in this situation behave like it does in -stable? Or > is this a change that we deliberately wanted to make in -current? > I would be willing to change 'ps' if people prefer the earlier > behavior, but I'll leave it alone if this was an intentional change. >=20 I believe that the current behavior of KERN_PROC_PID is correct. I personally don't care how ps(1) should behave if no PID exists. Cheers, --=20 Ruslan Ermilov FreeBSD committer ru@FreeBSD.org --x4pBfXISqBoDm8sr Content-Type: application/pgp-signature Content-Disposition: inline -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.2.4 (FreeBSD) iD8DBQFATYdDUkv4P6juNwoRAga8AJ0YtNHEOqNBHPGcMZ9KyN0rprKZ7QCcCoI0 o3QVbSINtYfMnTx7/RwKLQQ= =wiNo -----END PGP SIGNATURE----- --x4pBfXISqBoDm8sr--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20040309085843.GD55680>