Thank you for the insights, Rolf and Henrik.

To give another example, this time in non-interactive mode,

   Rscript -e "file.exists(commandArgs(TRUE))" <(echo "Hi")

   [1] TRUE


   Rscript -e "normalizePath(commandArgs(TRUE))" <(echo "Hi")
   [1] "/dev/fd/63"
   Warning message:
   In normalizePath(commandArgs(TRUE)) :
     path[1]="/dev/fd/63": No such file or directory

It almost seems like file.exists and normalizePath use separate criteria for determining existence?



On 01/12/2017 01:42 AM, Rolf Turner wrote:
On 12/01/17 16:33, Henrik Bengtsson wrote:


FYI, the /proc is there because Unix has something called the "proc
filesystem (procfs; is a special
filesystem in Unix-like operating systems that presents information
about processes and other system information in a hierarchical
file-like structure".  For instance, you can query the uptime of the
machine by reading from /proc/uptime:

$ cat /proc/uptime
332826.96 661438.10

$ cat /proc/uptime
332871.40 661568.50

You can get all IDs (PIDs) of all processes currently running:

$ ls /proc/ | grep -E '^[0-9]+$'

and for each process you there are multiple attributes mapped as
files, e.g. if I start R as:

$ R --args -e "message('hello there')"

then I can query that process as:

$ pid=$(pidof R)
$ echo $pid

$ cat /proc/26323/cmdline
/usr/lib/R/bin/exec/R--args-emessage('hello there')

Unix is neat

Indeed.  Couldn't agree more.  Thanks for the insight.




______________________________________________ mailing list -- To UNSUBSCRIBE and more, see
PLEASE do read the posting guide
and provide commented, minimal, self-contained, reproducible code.

Reply via email to