想知道我怎么可以启动一个命令,例如:启动屏幕(unix命令)+在1条命令中运行命令?
while :; do ./myCommand; done;
但是在做平常
screen -S nameOfMyScreen
然后命令
while :; do ./myCommand; done;
然后取下屏幕
^a ^d (Control "a" the control "d"
我希望它开始和分离。谢谢!
想知道我怎么可以启动一个命令,例如:启动屏幕(unix命令)+在1条命令中运行命令?
while :; do ./myCommand; done;
但是在做平常
screen -S nameOfMyScreen
然后命令
while :; do ./myCommand; done;
然后取下屏幕
^a ^d (Control "a" the control "d"
我希望它开始和分离。谢谢!
screen -d -m sh -c "while :; do ./myCommand; done;"
说明:
-d -m
开始屏幕分离模式(建立会话,但不重视它)sh -c commandline
开始其执行给定的命令行(需要一个壳,因为你正在使用内建的while
)。从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
切换。
+1。这些将组合你的工作。既然你的*命令*是一个脚本,你可能必须把它放在一个文件中并传递它,或者使用'bash -c'或类似的东西。 – 2010-01-05 16:33:36
我系统上的屏幕版本表示-c选项是读取备用配置文件而不是.screenrc。 – MikeSep 2010-01-05 16:39:34
'-c'不会传递给屏幕,而是传递给'sh'。在屏幕命令行解析器读取“sh”(即没有划线的东西)之后,它知道没有更多的选项可用,其他所有内容都是应该执行的命令。 – Heinzi 2010-01-05 16:40:42
啊,我纠正了。 :) – MikeSep 2010-01-05 20:53:56