之前公司程序我用的nohup 后台执行任务,发现不太靠谱,进程总是被莫名其妙的关闭。随后查些资料,经过一番测试觉得tmux是个好东西~分享给大家
通常本地连接远程linux服务器以后我们需要服务器一直执行程序,即使我们本地电脑关机或者断开连接,此时我们需要用到开后台神器tmux,后台运行程序 ,大概有三种 : & , nohup , tmux ,其中 tmux 最优雅,可以保存上次的工作流 。nohup 可以 记录发生日志。
1. 以& 结尾 run.sh &,缺点是 推出 终端 就退出 执行里。
2. nohup run.sh & --> 输入 exit 推出,会自动 将 输出 写到 当前目录下的 nohup.txt里
3.tmux 方式
首先保证你的电脑安装了tmux
如果是ubuntu:
apt-get install tmux
然后在命令行输入tmux,这时我们就开启了一个tmux后台程序,你在这里执行所有的命令和在shell里面执行是一样的结果,但是这里所有的结果和进程在你本地断开连接后远程服务器都不会关闭,都会继续执行,也就满足你后台继续执行命令的要求,
但是当你手动需要关闭这个进程时:
control + d
当你下次连接服务器需要连接上次的tmux进程时,命令行输入
tmux a
如果有多个tmux进程,可以选择