有时候用ssh工具连接远程服务器,在Linux跑一个脚本,突然有事,要带着本离开,如果ssh连接断开,过一会脚本所在的进程也会被杀死,这时候我们可以将它挂在后台运行,然后就可以从容的关掉ssh连接了,潇洒离开
如何让正在运行的进程放到后台执行? 首先使用ctrl + z挂起正在运行的进程,再使用bg %1(任务标号具体可通过jobs -l查看)放置到后台执行,再执行disown -h %1(任务标号具体可通过jobs -l查看)忽略HUP信号,从而进程可以在后台执行
1、将脚本放置到前台执行
[root@al ~]# sh test.sh
2、执行Ctrl + z 挂起现在的脚本,具体如下
^Z
[1]+ Stopped sh test.sh
3、查看暂停的脚本
[root@al ~]# jobs -l
[1]+ 24609 Stopped sh test.sh
4、将脚本放置到后台执行
[root@al ~]# bg 1
[1]+ sh test.sh &
5、查看放到后台执行的任务
jobs -l
[1]+ 25487 Running sh test.sh &
6、设置当前jobs忽略HUP信号
disown -h %1
具体disown参数可使用man查看
[root@al ~]# man disown