Screen
之前用服务器跑模型ssh断了,程序也就跑死了,我当时是用到了screen指令,之前写的可以去看看。
大致流程
1.首先安装screen
yum install -y screen
2.创建screen实例
screen -S me
3.执行要自己要执行的代码或者下载等操作
4.断开连接(代码还在执行)
5.验证
screen -r me
在screen中直接输入exit退出当前screen
查看所有:screen -ls
删除某个screen:screen -X -S 编号 quit(即下面所框出来的部分)
nohup
nohup全称为no hang up(不挂起),用于在系统后台不挂断地运行命令,退出终端不会影响程序的运行。命令经常与 & 符号配合执行,使得程序在后台执行,可通过
jobs 查看任务的状态、任务号和进程pid
kill %num 杀死对应任务
nohup python -u test.py > out.log 2>&1 &
摘自linux后台运行之screen和nohup - python许三多 - 博客园
如果想在关闭ssh连接后刚才启动的程序继续运行怎么办, 可以使用nohup.
但是如果要求第二天来的时候. 一开ssh, 还能查看到昨天运行的程序的状态,
然后继续工作,这时nohup是不行了, 需要使用screen来达到这个目的.
虽然nohup很容易使用,但还是比较“简陋”的,对于简单的命令能够应付过来,对于复杂的需要人机交互的任务就麻烦了
其实我们可以使用一个更为强大的实用程序screen。流行的Linux发行版通常会自带screen实用程序,如果没有的话,可以从GNU screen的官方网站下载
执行screen , 按任意键进入子界面;
我用./hello命令开始执行,如果下班了,但是想关闭ssh以后./hello继续运行,那么按ctrl+a再按d
这样暂停了子界面,会显示[detached]的字样,这时候 我回到了父界面;
用screen –ls查看目前子界面的状态screen -ls
SSH连接断开下让程序依旧运行_To be a better man-CSDN博客
参考资料