我在linux下以交互模式運行R,並且錯誤地輸入了永久運行的命令。我通常使用ctrl + c來停止它。但它不是一直工作。當它不起作用時,是否有另一種方式?我不想殺死R會議重新開始。如何停止在ctrl + c以外的linux中運行R命令?
謝謝。
我在linux下以交互模式運行R,並且錯誤地輸入了永久運行的命令。我通常使用ctrl + c來停止它。但它不是一直工作。當它不起作用時,是否有另一種方式?我不想殺死R會議重新開始。如何停止在ctrl + c以外的linux中運行R命令?
謝謝。
我有你提到的問題。 ctrl+c
將在R
能夠實現「哦,這個人希望我停止運行該特定命令」時工作。但是,經常R
不能這樣做。所以你必須運行ctrl+\
(注意它是一個反斜槓而不是正斜槓)。這告訴linux
「嘿,R
不聽我說,你可以停止運行R
?」。
嘗試ctrl+c
首先,因爲如果它工作,你仍然會有你的R
會話。如果它不起作用,並且你做了ctrl+\
你將失去你的R
會話,但至少停止這個過程。
如果這也不起作用,那麼我會建議一個killall R
或kill -9 [PID]
,您可以通過運行pus aux
找到PID。
您也可以嘗試 kill -USR1 [pid]
這會打斷一些[R通話,有時給你保存並退出,而查殺過程結合在一起的選項。
嘗試使用CTRL + C,然後用CTRL + Z暫停R,然後用FG取消暫停R(#job)
我試圖與發送某些信號至R用kill上面給出的解決方案,但是沒有工作。然後我嘗試了上面的順序(ctrl + c; ctrl + z,fg 1),它就起作用了。我可以繼續R會議。 我不確定它是否是一個信號或ctrl + c停止了R,但我猜ctrl + z在這裏是必不可少的。
ctrl + c無法正常工作。以某種方式ctrl + \將停止該過程。但是r編程有一個功能可以退出。你可以試試q()在RPEL上爲我工作。
Q()
當按Ctrl + C不起作用,它通常是因爲你還叫調用編譯後的代碼不檢查用戶中斷的功能。這些通常在用戶提供的軟件包中,而不是基本/推薦的R軟件包。 – 2012-02-18 12:21:32
感謝您的迴應,儘管我一直在尋找一種可以讓R會話保持活力的解決方案。 – danioyuan 2012-02-21 23:20:55
@danioyuan,從我從Joshua的評論中收集到的信息,這對於你所調用的某些功能來說可能是不可能的 - 他們可以自由地忽略用戶中斷。 – Richard 2012-07-03 17:08:25