2010-01-05 289 views

回答

10
screen -d -m sh -c "while :; do ./myCommand; done;" 

說明:

  • -d -m開始屏幕分離模式(建立會話,但不重視它)
  • sh -c commandline開始其執行給定的命令行(需要一個殼,因爲你正在使用內建的while)。
+0

我係統上的屏幕版本表示-c選項是讀取備用配置文件而不是.screenrc。 – MikeSep 2010-01-05 16:39:34

+0

'-c'不會傳遞給屏幕,而是傳遞給'sh'。在屏幕命令行解析器讀取「sh」(即沒有劃線的東西)之後,它知道沒有更多的選項可用,其他所有內容都是應該執行的命令。 – Heinzi 2010-01-05 16:40:42

+0

啊,我糾正了。 :) – MikeSep 2010-01-05 20:53:56

3

screen -h,這些看起來有用:

-dmS name  Start as daemon: Screen session in detached mode. 
-X   Execute <cmd> as a screen command in the specified session. 

我沒有這樣做我自己,但是這就是我會開始。

更新:

的幫忙頂還說

Use: path/to/screen [-opts] [cmd [args]] 

所以-X開關可用於執行屏幕命令,而不是一個外殼命令。您可能只需將命令放在-dmS <name>之後,不需要任何-X切換。

+0

+1。這些將組合你的工作。既然你的*命令*是一個腳本,你可能必須把它放在一個文件中並傳遞它,或者使用'bash -c'或類似的東西。 – 2010-01-05 16:33:36