Web lists-archives.com

Re: Privilege(s) needed to run top command




On Mar 12 18:39, Corinna Vinschen wrote:
> On Mar 12 18:13, Corinna Vinschen wrote:
> > On Mar 12 10:00, jwang wrote:
> > > Sir,
> > 
> > Nope.
> > 
> > > I download, this morning:
> > > 3132 -rw-r--r--  1 james None 3207004 Mar 12 10:50 cygwin-20190312.tar.xz
> > > 
> > > tar -xvf cygwin-20190312.tar.xz
> > 
> > Where to?  You have to install cygwin1.dll in place of the other
> > cygwin1.dll while having stopped all Cygwin processes.  Just unpacking
> > with tar won't do anything useful.
> > 
> > > then I did: 
> > > 
> > > usr/bin/ps -W|grep httpd
> > 
> > This is really not helpful as far as bug reports go.  Drop the
> > grep, drop the -W.  Just call `ps -e' or `procps -e' or `top'
> > and see what's visible.  Do you see all CYgwin processes?  If so, fine.
> > If not, please report details.  Just don't expect top's load average
> > values to make any sense if you're running under a non-privileged
> > user account.  They will be always 0.
> 
> Btw., `ps -W' only shows non-Cygwin processes visible inside the
> current user session.  This session isolation has been introduced with
> Windows 2003 and since Vista even the console interactive session is
> running in its own session distinct from session 0.
> 
> Task Manager doesn't suffer this problem, but it's not clear to me why.
> Perhaps it connects to a broker service which gives task manager access
> to all processes.

This was complete nonsense.

Actually, the problem was entirely in Cygwin's ps.exe, and it's a
long-standing problem at that.

While the Cygwin DLL collected the complete process list for ps, ps then
didn't print any process it failed to call OpenProcess on.  These are a
*lot* of processes and the result looked a lot like the list of
processes in or connected to the current session.

The reason for this behaviour was that the image path of a process could
only be fetched when opening the process.  Today I found new
functionality since Vista which allows to fetch the image path without
having to open the process, so `ps -W' will print all processes again,
just as in the good old XP times :}

Please try the latest snapshot from https://cygwin.com/snapshots/

Make sure to use ps.exe from that snapshot since this time the ps
executable is affected, not the Cygwin DLL itself.


Corinna

-- 
Corinna Vinschen
Cygwin Maintainer

Attachment: signature.asc
Description: PGP signature