rpc_rr_example {pbdRPC} | R Documentation |
Example Functions of RPC Related to Remote R Server
Description
Example functions of RPC related to remote R server
Usage
check_rr(machine, cmd = .pbd_env$RPC.RR$check)
checkx_rr(machine, cmd = .pbd_env$RPC.RR$checkx)
kill_rr(machine, cmd = .pbd_env$RPC.RR$kill)
killx_rr(machine, cmd = .pbd_env$RPC.RR$killx)
start_rr(machine, cmd = .pbd_env$RPC.RR$start,
preload = .pbd_env$RPC.RR$preload)
startx_rr(machine, cmd = .pbd_env$RPC.RR$startx,
preload = .pbd_env$RPC.RR$preload)
Arguments
machine |
A machine configuration. See |
cmd |
the main command to be executed on the server. |
preload |
further commands preloaded before the main |
Details
Using either ssh
or plink
to launch a remote R server.
NO further input from stdin
is expected.
Outputs or errors may not be captured by R.
start_rr()
starts a remote R server on a remote server.
Typical commands to launch a remoter R server is given in the example.
The linux/unix commands are as the following:
1)
nohup
is for the non-stop call after disconnection.2)
Rscript -e 'remoter::server()'
is for R to start the remote R server in batch.3)
> .rrlog
is to direct thestdout
to a file.rrlog
4)
2>&1
is to turnstderr
tostdout
which is the file.rrlog
.5)
< /dev/null
is to getstdin
from/dev/null
which is nothing happen.6)
&
is to put the batch command for the remoter R server in background.
check_rr()
checks if there is a remote R server on a remote
server. Lunix/unix commands ps
and grep
are used.
kill_rr()
kills remote R servers if found.
Lunix/unix commands ps
, grep
, awk
, and kill
are used.
checkx_rr()
, killx_rr()
, and startx_rr()
are functions
with virtual X11 windows.
Value
Mainly the message received at the command line will be printed, but may not be captured by R.
Examples
## Not run:
library(pbdRPC, quietly = TRUE)
# rpcopt_set(user = "snoweye", hostname = "192.168.56.101")
m <- machine(user = "snoweye", hostname = "192.168.56.101")
check_rr(m) # pid 2857 (may differ)
kill_rr(m) # all remoter pids are killed
check_rr(m) # make sure no remoter servers are running
### use "; " to bypass multiple commands
preload <- "source ~/work-my/00_set_devel_R; "
### start a new remoter server
start_rr(m, preload = preload)
check_rr(m)
kill_rr(m)
### Example: for module load on supercomputers
preload <- "module load r; " # e.g. via module load r
start_rr(m, preload = preload)
check_rr(m)
kill_rr(m)
## End(Not run)