nohup的使用
最近远程连接服务器跑程序的时候,总是碰到本地电脑息屏或者ssh断开导致程序中断,往往一觉醒来不是程序跑完了而是因为各种原因本地中断了。为此想到了nohup这个命令,可以让程序在我本地电脑关机后也可以在远端服务器上面运行。
命令如下:
nohup ./restore.sh > output.log 2>&1 &
./restore是自己的脚本
> output.log将标准输出重定向到 output.log 文件
2>&1:将标准错误输出合并到标准输出
&:让进程在后台运行,释放当前终端
简单演示一下:
不用nohup命令
当我只要关闭ssh连接的界面或者自己电脑关机后,程序立马会中断。
当我使用nohup命令
程序一直在远端服务器上面运行,和本地终端无关,即使断开ssh连接或者本地关机也没关系。
ps aux | grep your_script.sh # 检查进程是否存在
tail -f output.log # 实时查看日志输出
当要终止nohup程序运行只需要
kill pid # kill掉对应的进程号