Ho provato molte opzioni sia in Mac che in Ubuntu. Ho letto la documentazione RserveCome posso arrestare Rserve con garbo?
http://rforge.net/Rserve/doc.html
e che per i pacchetti Rserve e RSclient:
http://cran.r-project.org/web/packages/RSclient/RSclient.pdf
http://cran.r-project.org/web/packages/Rserve/Rserve.pdf
non riesco a capire qual è il flusso di lavoro corretta per l'apertura/chiusura di un connessione all'interno di Rserve e per arrestare Rserve 'con garbo'.
Ad esempio, in Ubuntu, ho installato R dal sorgente con ./config --enable-R-shlib (seguendo la documentazione di Rserve) e aggiunto anche la riga "control enable" in /etc/Rserve.conf.
In un terminale Ubuntu:
library(Rserve)
library(RSclient)
Rserve()
c<-RS.connect()
C## this is an Rserve QAP1 connection
## Trying to shutdown the server
RSshutdown(c)
Error in writeBin(as.integer....): invalid connection
RS.server.shutdown(c)
Error in RS.server.shutdown(c): command failed with satus code 0x4e: no control line present (control commands disabled or server shutdown)
posso, tuttavia, chiudere la connessione:
RS.close(c)
>NULL
C## Closed Rserve connection
Dopo aver chiuso la connessione, ho anche provato le impostazioni (provato anche con argomento 'c' , anche se la connessione è chiusa):
RS.server.shutdown()
RSshutdown()
Quindi, le mie domande sono:
1- Come posso chiudere Rserve con garbo?
2- È possibile utilizzare Rserve senza RSclient?
Ho anche guardato
How to Shutdown Rserve(), running in DEBUG
ma la domanda si riferisce alla modalità di debug ed è anche irrisolto. (Non ho abbastanza reputazione per commentare/chiedere se l'arresto funziona in modalità non-debug).
visto anche:
how to connect to Rserve with an R client
Grazie mille!
Grazie! Quindi, se ho capito bene, per connettere un processo R con un'istanza di Rserve, devo usare RSclient, corretto? Avevo anche bisogno di specificare il comando "args" in Rserve (altrimenti ottengo un errore fatale) e quando uso il debug = TRUE, la riga di comando rimane in attesa e termina con "Errore: impossibile stabilire una connessione con la sessione R". Quindi, usando un mac, solo l'opzione debug = F sembra funzionare e ho usato il sistema ('ps aux | grep Rserve') [questo apre 2 connessioni, con due ID diversi ..]. Grazie mille!! – user3570398
Funziona alla grande per Rserve (port = 6311, debug = FALSE, args = "- no-save"). Grazie! – user3570398