我是在Google Cloud上使用Cron Jobs的新手:我想知道是否有可能在一个实例上启动一个作业,并且即使在我关闭本地(笔记本电脑)之后也可以不间断地连续运行。是否可以在没有任何ssh连接的情况下运行作业?
答案 0 :(得分:0)
CronJobs是一种可能性,但它们不适合在您的场景中使用,但是当您想要在一段时间内以特定频率运行命令时。
适合您需求的Bash Builtin command是disown
。首先,在后台运行您的流程/脚本(使用&
,或使用^Z
停止,然后使用bg
重新启动):
$ long_operation_command &
[1] 1156
请注意,此时该进程仍然与会话相关联,如果它被关闭,它将被终止。 您可以将附加到会话的流程检查后台运行
jobs
:
$ jobs
[1]+ Running long_operation_command
因此,您可以运行disown以便从会话中分离进程:
$ disown
您可以确认此操作,检查脚本或命令的结果是否再次登录,或使用top
进程检查该进程是否仍在运行。
同时检查this,因为它可能很有趣,即nohup foo
,foo &
和$ foo & disown
之间的差异
P.S。 你的问题的直接答案是肯定的,即使关闭你的笔记本电脑/关闭会话,cronjobs也会运行。