linux服务器通常都是远程登录的,执行命令或者脚本时,如果连接断掉(执行时间较长或者网络不稳定时),那么进程也就没了,这时只能重新连接重新执行,这时可以使用后台执行:
1 nohup
命令
nohup $command $args &
这时会生成一个nohup.out文件,内容是命令执行的控制台输出,也可以自己重定向到另一个文件:
nohup $command $args 1>test.log 2>&1 &
2 screen
安装
yum install screen
session详细参数详见
screen -h
下面列举一些常用的参数:
列出当前所有session
screen -list
新建session
screen -S $session_name
进入session后执行任意命令,然后可以直接关闭连接,或者临时退出当前session(临时退出后还可以再重新进入),临时退出命令是:
Ctrl+A d
kill当前session(永久退出)命令:
Ctrl+A k
重新进入session
screen -r $session_name
注意,重新进入的session必须是detached状态,如果是attached状态,必须先detach:
screen -d $session_name
如果在执行screen时报错
Cannot open your terminal ‘/dev/pts/0’ – please check.
先执行即可
script /dev/null