2015-05-05 9 views
6

questa domanda si riferisce a close connection e forse anche a questo close Rserve. Tuttavia, nel caso successivo ci sono connessioni aperte e nel primo caso la risposta non specifica come "uccidere" il server.Come chiudere Rserve dalla riga di comando

È importante dire che sono nuovo di Rserve, e l'ho usato per la prima volta oggi per una lieve interazione R-python. Ho iniziato Rserve dalla riga di comando come:

% R CMD RServe 

io se avevo chiuso la connessione dopo la seduta, ma quando io ora cerco di ri-iniziare Rserve di nuovo con una nuova configurazione ottengo l'errore:

% ##> SOCK_ERROR: bind error #48(address already in use) 

che è abbastanza chiaro. Inoltre ps ax | grep Rserve restituisce:

% ps ax | grep Rserve 
18177 ?? Ss  0:00.33 /Library/Frameworks/R.framework/Resources/bin/Rserve 
18634 s006 U+  0:00.00 grep Rserve 

che ho capito che in effetti significa che il server è in esecuzione. Ho provato un paio di cose:

% R CMD RSclose 
/Library/Frameworks/R.framework/Resources/bin/Rcmd: line 62: exec: RSclose: not found 

% R CMD RSshutdown 
/Library/Frameworks/R.framework/Resources/bin/Rcmd: line 62: exec: RSshutdown: not found 

e infine

% R CMD shutdown 
shutdown: NOT super-user 

Mi chiedo, dovrei quindi eseguire:

% sudo R CMD shutdown 

(Vorrei fare in modo prima di eseguire quel comando , nel caso avviti qualcosa)

In ogni caso, la domanda sarebbe molto semplice. Come posso chiudere il server per ri-eseguirlo.

Grazie in anticipo per il vostro tempo!

risposta

8

si sono confusi:

R CMD something 

andrà sempre a R. E R sa più Rserve è in esecuzione, anche se potrebbe essere avviato tramite R CMD Rserve: questi sono ora processi distinti.

Che cosa si dovrebbe fare è

kill 18177  # or possibly kill -9 18177 

e ci sono wrapper per kill che per primo grep per il nome e trovare il PID per voi:

killall Rserve # or possibly killall -9 Rserve 

Il invia un ordine superiore SIGKILL (cioè 'davvero vai e muori subito') intensità rispetto al default di -15 per SIGTERM) (es. 'per favore fermati subito').

+0

Mille grazie a Dirk per aver risolto la mia confusione. Uso raramente la R CMD, quindi ho avuto molti fronti da cui essere confuso. Grazie ancora. – Javier

+2

Piacere mio. Sono un grande fan di Rserve. –

+1

Ho appena iniziato a usarlo e, ad essere onesto, non riesco ancora a capire appieno il suo "potere" (so che è fondamentalmente un server, ma sicuramente c'è dell'altro). Sto usando pyRserve tutto il giorno. Ancora non capisco bene come R e python comunichino attraverso Rserve, ma è solo una questione di tempo. Penso che questo sarà molto utile! – Javier