Mil*_*vić 0 linux bash terminal
我相信这是一个非常菜鸟的问题,我已经尽一切努力避免在这里提问,但我没有在整个互联网上的任何地方找到答案。
继续给我投反对票,但请回答我如何在通过 CTRL+X 或 CTRL+C 中止时继续执行长时间运行所需的 bash 脚本?
我想执行命令$ sh myscript.sh
并通过 CTRL+X / CTRL+C 释放我的终端,脚本应根据需要在接下来的 10-20 分钟内继续运行。
我想像执行 php 脚本一样$ php /path/to/myphpscript.php
通过 CTRL+X / CTRL+C 释放我的终端,脚本应该根据需要在接下来的 2 小时内继续运行。
怎么会有呢?
Cronjob 不是我的解决方案。
一旦你用+终止了一个工作,它就会被终止,你不能告诉一个死的工作继续并恢复它原来的位置。 CTRLC
正确的术语是在后台运行作业,您可以预先执行此操作:
./script &
Run Code Online (Sandbox Code Playgroud)
您可以结合使用它nohup
来使进程免受挂起的影响,即使您从 bash 会话中注销它也会继续运行:
nohup ./script &
Run Code Online (Sandbox Code Playgroud)
如果脚本已经在运行,您可以使用+挂起前台作业并指示它在后台继续运行CTRLZbg
bash 手册中有关作业控制的章节还有更多内容。