2015-05-05 3 views
6

этот вопрос относится к close connection и, возможно, к этому close Rserve. Однако в более позднем случае открыты соединения, и в первом случае ответ не указывает, как «убить» сервер.Как закрыть Rserve из командной строки

Важно сказать, что я новичок в Rserve, и я использовал его в первый раз сегодня для некоторого мягкого взаимодействия R-python. Я начал Rserve из командной строки, как:

% R CMD RServe 

я, хотя я закрыл соединение после сессии, но когда я теперь пытаюсь заново начать Rserve снова с новой конфигурацией, я получаю ошибку:

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

который довольно ясный. Кроме того ps ax | grep Rserve возвращается:

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

, который я понимаю, что на самом деле означает, что сервер работает. Я попробовал несколько вещей:

% 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 

и, наконец,

% R CMD shutdown 
shutdown: NOT super-user 

Я задаюсь вопросом, я должен затем запустить:

% sudo R CMD shutdown 

(Я хотел бы, чтобы убедиться, что перед запуском этой команды , в случае если я что-то прикручу)

В любом случае, вопрос будет очень простым. Как закрыть сервер для повторного запуска.

Заранее благодарим за ваше время!

ответ

8

Вы смущены:

R CMD something 

всегда будет идти к R. И R больше не знает Rserve работает, даже если вы, возможно, начали его через R CMD Rserve: они теперь различные процессы.

Что вы должны сделать, это

kill 18177  # or possibly kill -9 18177 

и есть обертки kill которые первый Grep для имени и найти PID для вас:

killall Rserve # or possibly killall -9 Rserve 

посылает более высокого порядка SIGKILL (т.е. «действительно идти и умереть сейчас»), чем значение по умолчанию -15 для SIGTERM) (т.е. «пожалуйста, остановитесь сейчас»).

+0

Огромное спасибо Дирк за решение моей путаницы. Я редко использую R CMD, поэтому у меня было много фронтов, которые можно было смутить. Еще раз спасибо. – Javier

+2

Мое удовольствие. Я большой поклонник Rserve. –

+1

Я только начал использовать его, и, честно говоря, я до сих пор не полностью понимаю его «силу» (я знаю, что это в основном сервер, но, конечно же, для него это больше). Я использую pyRserve весь день. Все еще не понимаю, как R и python общаются через Rserve, но это всего лишь вопрос времени. Я чувствую, что это будет очень полезно! – Javier