有没有办法暂停Bash脚本,然后再次恢复它,例如重新启动计算机后?
答案 0 :(得分:2)
做AFAIK的唯一方法是:
答案 1 :(得分:1)
尝试使用Ctrl-Z暂停命令。我不认为你可以暂停它然后在重新启动后恢复,除非你以某种方式保持状态。
答案 2 :(得分:1)
重启后,您无法暂停和恢复相同的脚本,但脚本可以安排在稍后的某个时间运行另一个脚本。例如,它可以创建一个init脚本(或一个cron作业,或一个登录脚本等),其中包含您要延迟的任务,然后将其自行删除。
答案 3 :(得分:1)
趣...
您可以使用CTRL-Z暂停BASH中的作业,但重启后无法恢复。重新启动会初始化计算机,并且已终止暂停的进程。
但是,可以通过'kill -QUIT $ pid and then use
gdb`强制进程进入coredump来重启脚本。我试了一会儿,却无法做到。也许其他人可以指出方向。
答案 4 :(得分:1)
如果这适用于您的脚本及其执行的作业,请向其添加检查点 - 这意味着在继续之前将进程的所有状态保存到磁盘的位置。然后让每个单独的部件检查他们必须生成的输出是否已经存在,如果是,则跳过运行。这应该使脚本的重新运行几乎与从执行中的完全相同位置恢复一样有效。
或者,在VM中运行脚本。在关闭真实系统之前冻结VM并在之后恢复它。不过,它可能需要一个非常庞大而复杂的shell脚本才能使它值得。