啊啊啊啊啊啊啊啊nohup就是深度学习的救星!!!!!!!终于可以不用担心中途换地方导致断网程序被迫中止的危险了!!!!!!!(别问我为什么现在才知道,问就是因为我太蠢)
详细介绍可见菜鸟教程Linux nohup 命令 | 菜鸟教程 (runoob.com)
nohup 英文全称 no hang up(不挂起),用于在系统后台不挂断地运行命令,和用户终端没有关系,断开SSH不影响运行,nohup捕获了SIGHUP,并做了忽略处理,因此当屏幕关闭,断网等造成ssh中断时进程不会退出。但是ctrl+c可以关闭关闭该进程。
nohup 命令,在默认情况下(非重定向时),会输出一个名叫 nohup.out 的文件到当前目录下,如果当前目录的 nohup.out 文件不可写,输出重定向到 $HOME/nohup.out 文件中。
具体使用 (和&区分/联合)
&符号
把 &放在执行命令最后,使启动的程序忽略sigint信号,此时执行ctrl+c关闭就不会关闭此进程,但是当屏幕关闭,断网仍然会造成进程退出。
一般使用命令为
"""
同时使用nohup和&启动的程序,ctrl+c和关闭终端都无法关闭。在缺省情况下所有输出都被重定向到一个名为nohup.out的文件中。
"""
nohup conmmand & #如nohup python main.py &
后续观察
此时再次断开连接,再次登入之后,就无法看到python文件的执行效果了,只能通过进程来判断(特指训练模型时需要运行很久很久的程序),相关进程查看的命令如下
top #查看当前全部进程
ps -aux | grep 进程ID #查看特定进程,如果确定只运行了一个python程序,也可以ps -aux | grep "python.py"
kill -9 进程ID