用于Cronjob的Screen Bash脚本

Pez*_*kow 3 bash gnu-screen

嗨,我想使用屏幕作为cronjob的一部分.

目前我有以下命令:

screen -fa -d -m -S mapper /home/user/cron
Run Code Online (Sandbox Code Playgroud)

无论如何,如果屏幕映射器已存在,我可以使此命令不执行任何操作吗?映射器设置在半小时的cronjob上,但有时映射需要半个多小时才能完成,因此它们重叠,相互减慢,有时甚至导致下一个慢,所以我最终得到很多映射器屏幕都在运行.

谢谢你的时间,

Joh*_*nck 6

ls /var/run/screen/S-"$USER"/*.mapper >/dev/null 2>&1 || screen -S mapper ...
Run Code Online (Sandbox Code Playgroud)

这将检查当前用户是否存在任何名为mapper的屏幕会话,并且只有在没有任何屏幕会话时才会启动新会话.