我们如何避免Cron工作中断?

时间:2018-02-14 16:43:14

标签: parallel-processing cron google-cloud-platform

我是在Google Cloud上使用Cron Jobs的新手:我想知道是否有可能在一个实例上启动一个作业,并且即使在我关闭本地(笔记本电脑)之后也可以不间断地连续运行。是否可以在没有任何ssh连接的情况下运行作业?

1 个答案:

答案 0 :(得分:0)

CronJobs是一种可能性,但它们不适合在您的场景中使用,但是当您想要在一段时间内以特定频率运行命令时。

适合您需求的Bash Builtin commanddisown。首先,在后台运行您的流程/脚本(使用&,或使用^Z停止,然后使用bg重新启动):

$ long_operation_command &
[1] 1156
  

请注意,此时该进程仍然与会话相关联,如果它被关闭,它将被终止。   您可以将附加到会话的流程检查后台运行jobs

$ jobs
[1]+  Running  long_operation_command

因此,您可以运行disown以便从会话中分离进程:

$ disown

您可以确认此操作,检查脚本或命令的结果是否再次登录,或使用top进程检查该进程是否仍在运行。

同时检查this,因为它可能很有趣,即nohup foofoo &$ foo & disown之间的差异

P.S。 你的问题的直接答案是肯定的,即使关闭你的笔记本电脑/关闭会话,cronjobs也会运行。