[Rd] Help with OS X (BSD) ps command

Prof Brian Ripley ripley at stats.ox.ac.uk
Fri Feb 2 15:36:36 CET 2007


Most systems do not have pgrep: it is not POSIX.  From Linux:

STANDARDS
        pkill and pgrep were introduced in Sun's Solaris 7.  This implementation is fully
        compatible.


The man pages of Darwin and many other systems are online, and linked from
developer.r-project.org.  You could do what the R developers do, and look 
at them.

However, you seem not to have looked on your own system, as my Linux 'ps' 
man page tells me the BSD syntax, and I can test it on Linux's 'ps'.  I 
guess you want 'ps ux'.


On Fri, 2 Feb 2007, Jeffrey J. Hallman wrote:

> My fame package has a function that checks to see if a FAME SERVER process is
> already running.  On Linux, I can do this in one of two ways:
>
>  pid <- Sys.getpid()
>  user <- Sys.info()["user"]
>
>  cmd <- paste("pgrep -fU", user, "-P", pid, "'FAME SERVER'")
>  fameRunning <- as.logical(length(system(cmd, intern = T)))
>
> or I can use
>
>  cmd <- paste("ps -ef | grep", user, "| grep", pid,
>                 "| grep -v grep | grep -c 'FAME SERVER'")
>  fameRunning <- as.logical(as.numeric(system(cmd, intern = T)))
>
> Mac OS X does not have pgrep, and being a BSD derivative, takes different
> arguments for the 'ps' command.  I don't have access to a BSD machine. Can
> someone who does tell me the correct invocation of 'ps' to see if 'user' is
> running a 'FAME SERVER' process with the R process as its parent process?
>
> Please don't tell me how to get pgrep for OS X, as my objective here is to
> stop the CRAN test machine from complaining about my invalid ps command.
>
> While FAME is not officially supported on OS X, I am told that it can be made
> to work there.  Had I not heard this, of course, I could just answer FALSE for
> OS X and be done with it.
>
>

-- 
Brian D. Ripley,                  ripley at stats.ox.ac.uk
Professor of Applied Statistics,  http://www.stats.ox.ac.uk/~ripley/
University of Oxford,             Tel:  +44 1865 272861 (self)
1 South Parks Road,                     +44 1865 272866 (PA)
Oxford OX1 3TG, UK                Fax:  +44 1865 272595



More information about the R-devel mailing list