在shell脚本中,如果你尝试编写一个cronjob来启动一个新的gnur-screen窗口并在其中运行命令,则很可能会遇到此问题。具体而言,你的脚本中第二个命令将不会执行,而gnur-screen窗口也不会启动。这是因为cron作业默认不会在桌面环境中运行,因此无法在屏幕上启动gnur-screen。
为了解决此问题,可以通过使用-DM选项来强制gnur-screen从后台执行到前台,从而使其在cron中正常工作。具体来说,你可以使用以下命令:
* * * * * /usr/bin/screen -dmS screen_session_name /path/to/command args
在这里,-dmS选项用于在gnur-screen中启动一个新会话,并将其从后台执行到前台。screen_session_name是会话名称,/path/to/command和args是你要执行的命令及其参数列表。
通过此方法,即使在没有桌面环境的情况下,你也可以轻松地在gnur-screen中运行cron作业中的多个命令。