无论 GNU screen 会话是否存在,都在新窗口中启动进程

无论 GNU screen 会话是否存在,都在新窗口中启动进程

我对 GNU 有点困惑屏幕。我想要做的是这样的(来自cron):

如果屏幕会话名为计划任务存在,则向会话添加一个新窗口并在其中启动一个进程(但不附加到会话)。否则,创建一个名为的新会话计划任务并在其中启动该进程(再次强调,不要附加)。如果可能的话,所有这些都应该只使用一个“screen”命令来完成。

我已经尝试了一些,但还没有找到满足我所有需求的解决方案:

screen -S cron -dRRm screen ping example.com
screen -S cron -X screen ping example.com

我是否遗漏了什么?

答案1

我不认为你可以用一个命令来完成这个任务,但是这应该可以完成你想要的:

screen -ls cron | grep -q '(\w*tached)' >&- || screen -dmS cron
screen -S cron -X screen ping example.com

相关内容