2015-05-05 19 views
6

to pytanie dotyczy close connection, a może również do tego close Rserve. Jednak w późniejszym przypadku są otwarte połączenia iw pierwszym przypadku odpowiedź nie określa sposobu "zabicia" serwera.Jak zamknąć Rserve z linii poleceń

Ważne jest, aby powiedzieć, że jestem nowy w Rserve, i użyłem go po raz pierwszy dzisiaj, aby uzyskać łagodną interakcję R-python. Zacząłem Rserve z linii poleceń jak:

% R CMD RServe 

ja jakbym zamknął połączenie po sesji, ale kiedy teraz spróbuj ponownie uruchomić Rserve dzięki nowej konfiguracji pojawia się błąd:

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

co jest całkiem jasne. Ponadto ps ax | grep Rserve powraca:

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

co rozumiem, że w istocie oznacza, że ​​serwer jest uruchomiony. Próbowałem kilka rzeczy:

% 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 

i wreszcie

% R CMD shutdown 
shutdown: NOT super-user 

Zastanawiam powinienem następnie uruchomić:

% sudo R CMD shutdown 

(chciałbym się upewnić, przed uruchomieniem tej komendy na wypadek, gdyby coś przykręciłem)

W każdym razie pytanie byłoby bardzo proste. Jak zamknąć serwer, aby go ponownie uruchomić.

Z góry dziękujemy za poświęcony czas!

Odpowiedz

8

są zdezorientowani:

R CMD something 

zawsze trafi do R. I R nie wie Rserve działa chociaż może zaczęli go poprzez R CMD Rserve: są teraz różne procesy.

Co należy zrobić, to

kill 18177  # or possibly kill -9 18177 

i istnieje owijarki do kill który po raz pierwszy grep nazwy i znaleźć PID dla Ciebie:

killall Rserve # or possibly killall -9 Rserve 

wysyła wyższego rzędu SIGKILL (tj. "naprawdę idź i umrzyj teraz") intensywność niż domyślna -15 dla SIGTERM) (tj. "proszę przestań teraz").

+0

Dziękuję Dirkowi za rozwiązanie mojego zamieszania. Rzadko używam R CMD, więc nie mogłem pomylić wielu frontów. Dzięki jeszcze raz. – Javier

+2

Moja przyjemność. Jestem wielkim fanem Rserve. –

+1

Po prostu zacząłem go używać i szczerze mówiąc wciąż nie w pełni rozumiem jego "moc" (wiem, że to w zasadzie serwer, ale na pewno jest coś więcej). Używam pyRserve cały dzień. Nadal nie rozumiem, jak R i Python komunikują się za pośrednictwem Rserve'a, ale to tylko kwestia czasu. Czuję, że to będzie bardzo przydatne! – Javier