如果我按如下方式设置cron
作业,则一切正常:新的屏幕会话已启动,我可以稍后访问它。
* * * * * screen -d -m -S test
但如果cron
条目如下所示,则屏幕会话未启动或至少不可检索(screen -ls
未找到)。
* * * * * screen -d -m -S test date
* * * * * screen -d -m -S test bash -c “date”
如果我直接从命令行运行上述任何命令,一切都会按预期进行。
但我尝试了我能想到的任何命令组合,但没有一个起作用,所以我显然错过了一些东西。
答案1
您无法重新连接到已启动的screen
会话,因为它已经退出。当您向 发出命令时screen
,它将运行该命令并立即退出。
答案2
屏幕是每个用户的。 Cron 是后台计划任务。如果您需要知道特定 cron 的输出,最好输出到文件或告诉它通过电子邮件发送给您。
在我看来,让它运行屏幕会话并不是真正的目的。