2014-10-06 55 views
2

我有一個csh-shell skript啓動批處理作業在服務器上。一份工作完成後,匆匆完成另一項工作,直到所有工作完成。 只要我在服務器上登錄,這工作就很好。在服務器註銷後在後臺運行批處理作業

由於運行將需要幾天的時間,我必須退出不時和來這裏的問題: 即使我運行該腳本jobs.sh然後啓動批處理作業中batch.sh使用nohup命令,任務在已啓動的批處理作業完成並且沒有啓動新的批處理作業後停止。我怎樣才能防止這一點?

$ nohup jobs.sh 

看起來或多或少是這樣的:

#!/bin/csh -f 
    ... 
    eval "nice +5 batch.sh <options>" 

batch.sh程序看起來像這樣:

time program.x 

回答

2

screen會話中啓動腳本,當您註銷/斷開連接時,它不會被殺死。稍後當您重新登錄以檢查事情時,您可以重新連接會話。

如果你是新來screen你可能想看看this page

屏幕通常被描述爲一個窗口管理器或終端複用器基於文本的程序。雖然它做了很多事情,但其最大的兩個特點是它的可拆卸性和複用性。可拆卸性意味着您可以從屏幕內運行程序,分離和註銷,然後再登錄,重新連接,程序仍然在那裏。多路複用意味着您可以在單個屏幕會話中運行多個程序,每個程序都在其自己的窗口內運行。您可以一次顯示多個窗口,或只是在它們之間切換,即使您只有一個終端窗口可供使用。

tmux是另一個類似的程序。

+0

工程就像一個魅力。謝謝! – MichaelScott 2014-10-06 09:01:06

1

嘗試使用GNU Screen。它允許你一次打開幾個炮彈。而且你可以斷開那些正在運行的shell(即與Putty的緊密會話),他們將繼續做他們的事情。

使用nohup您無法恢復交互。