2013-08-12 118 views
2

我的問題與我已經在SO hereherehere上找到的問題相同。但是,對於我nohup不起作用。編譯screen會給出錯誤,並且不允許,Control + Z不會使進程「停止」。後臺進程在關閉ssh客戶端後終止

我運行一個數據生成二進制文件,將數據寫入文件並在屏幕上輸出狀態消息(stdout)。我嘗試了以下內容

nohup ./sp2b <options for sp2b> > output & 

當我註銷終端並登錄回去時,進程已被終止。我其實也想這麼做,所以想做

nohup time ./sp2b <options for sp2b> > output & 

爲什麼nohup在我的情況下不工作?

+1

你爲什麼編譯屏幕?它應該可以通過你的包管理器 –

+0

像apt-get一樣容易地獲得?我沒有管理員權限。所以我實際上更喜歡nohup喜歡解決方案。 – Raghava

+0

爲什麼你在屏幕中分辨?加載屏幕ctrl a x - 創建幾個會話或一個開始你的ob oopen一個新的會話然後做屏幕-d {detach}讓它運行? - 屏幕-r和它的nuber再次連接ctrl 1回到那個屏幕和工作沒有&符號? – Vahid

回答

1

也許嘗試這樣的,而不是screen使用tmux(一個更現代的屏幕替代),因爲你沒有根,我們會在本地安裝它。

mkdir tmp && cd tmp; 
aptitude download tmux; 
ar x tmux_* 
tar xvf data.tar.gz 

現在你可以試着./usr/bin/tmux,希望你將要安裝的依賴性,TMUX也只是少數。這在我的機器上工作。

+0

謝謝你的回覆。我試過這個,但tmux依賴libevent,並沒有安裝在我們的服務器上。儘管我可以編譯並生成libevent的二進制文件並將其放置在本地,但我不認爲可以在該文件夾中爲libevent(?)製作tmux文件。你爲什麼認爲nohup選項不適合我? – Raghava

+0

是的,這可以通過更改導出'LD_LIBRARY_PATH'變量來實現。你可以通過'export LD_LIBRARY_PATH =/my/libevent/path:$ LD_LIBRARY_PATH'來設置, –

+0

爲什麼進程沒有響應'NOHUP'和'suspend'信號,我不知道,我不是專家。儘管可以明確地忽略這些信號,但默認行爲是尊重它們。這是他們的程序:http://dbis.informatik.uni-freiburg.de/index.php?project=SP2B? –

相關問題