linux shell 执行长时间程序挂到后台。

2019独角兽企业重金招聘Python工程师标准>>> hot3.png

shell 执行运行时间很长的程序时,尤其是使用云服务器的时候,如果不小心断开了ssh,可能正在进行的程序就直接结束了。

运行了个很长时间的脚本。我这个大概需要20个小时。

$ php copy.php

这时候我们不想结束这个脚本,但是也不想在这里傻等。 可以在这个 shell 按 Ctrl z,这个时候这个正在运行的程序就挂起到后台了。但是现在关闭 ssh 肯定会杀死它的。

^Z
[1]+  已停止               php copy.php

这时候我们可以在后台先让它运行着。 % 后面的数字就是 [ ] 里面的数字。jobs 可以看一看挂起的程序

$ bg %1
[1]+ php copy.php &
$ jobs
[1]+  运行中               php copy.php &

之后用 disown 就可以把它给系统的后台了。

$ disown -h %1

之后用 top 或 htop 观察它吧。

PS: bg 相对的还有 fg,就是 挂起到后台的程序显示到前台。

转载于:https://my.oschina.net/guodapeng/blog/3017750

你可能感兴趣的:(linux shell 执行长时间程序挂到后台。)