bash - Cronjob 的 screen Bash 脚本

标签 bash gnu-screen

您好,我正在尝试将 screen 用作 cronjob 的一部分。

目前我有以下命令:

screen -fa -d -m -S mapper /home/user/cron

如果 screen 映射器已经存在,我是否可以让这个命令不执行任何操作?映射器设置为半小时的 cronjob,但有时映射需要半个多小时才能完成,因此它们重叠,彼此减慢速度,有时甚至导致下一个速度变慢,所以我最终得到许多映射器 screen 正在运行。

谢谢你的时间,

最佳答案

ls /var/run/screen/S-"$USER"/*.mapper >/dev/null 2>&1 || screen -S mapper ...

这将检查当前用户是否存在任何名为 mapper 的 screen session ,只有在没有存在的情况下,才会启动新 session 。

关于bash - Cronjob 的 screen Bash 脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6641886/

相关文章:

linux - sed:捕获组的输出值到文件中

linux - 在 shell 脚本中读取矩阵中的值

gnu-screen - 如何在 GNU Screen hardstatus 中显示之前选择的选项卡?

terraform - 如何使用 Terraform 配置启动远程服务?

bash - 使用 bash awk 根据匹配/分隔符将列拆分为多个

Bash 按位运算符

linux - 使用 Ubuntu 进行多屏显示

linux - 使用 screen 和设置压缩级别在 bash 中压缩文件

linux - bash 在 screen 内时,如果不适合一行,输出将被截断

Bash - 检查多个环境变量并列出所有缺失的变量