【问题标题】:How do we avoid Cron jobs interruption?我们如何避免 Cron 作业中断?
【发布时间】:2018-02-14 16:43:13
【问题描述】:

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

【问题讨论】:

  • 什么样的实例(即哪个 GCP 产品)?通常,无论用户是否登录(无论登录方法如何 - SSH 或其他方式),Cron 都会运行。

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


【解决方案1】:

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 之间的区别

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-08-25
    • 1970-01-01
    • 1970-01-01
    • 2018-09-04
    • 1970-01-01
    • 2011-07-15
    • 1970-01-01
    相关资源
    最近更新 更多