2017-07-05 46 views
0

我试图运行运行在Ubuntu计划任务屏幕

屏幕livestream_dl -U“......”“这行代码的程序......”

而且它就启动的过程检查Instagram Live视频是否处于活动状态,然后下载它,如果它能找到它,并且屏幕终止。

我的问题是我已经首先加入这个

*/1 * * * *  screen livestream_dl "name" "igname" -p "pass" 

放入cron作业本,我应该把它作为屏幕或无屏幕如果我做同样的,其将努力得到的结果通过SSH命令行

第二,如何改进此cron作业以确保Cronjob是否已在运行,然后忽略该命令并在一分钟内再次检查?

非常感谢! :)

+0

如果您将命令添加到'bash'脚本,然后从'cron'内调用该命令会更好 – PYA

+0

@pyjg我如何识别屏幕会话是否仍在打开/ cron作业仍在运行? –

+0

您需要为脚本设置一个变量,并在每次运行脚本时检查该变量。当脚本结束时,您只需切换变量即可。例如,只有当你的变量为“真”,如果它是“假”,你才能退出。您可以将其存储在数据库中/将其写入您的脚本等文件中。 – PYA

回答

0

你一定要删除屏幕。屏幕用于使终端会话从另一个TTY恢复。由于cron作业根据定义不具有交互性,因此您不需要它。

为了防止cron同时启动作业的两个实例,您可以使用flock。羊群将在第一次运行时创建一个信号量文件。如果找到这样的文件,它将等待信号量被删除,或者如果指定了非黑色选项,则立即终止。后者可能是你想要的。