ubuntu nohup命令学习

ubuntu nohup命令学习

最近在使用xshell连接服务器使用,条件限制只能用wifi连接,且信号不好,xshell总是自己断开,则执行中的命令也会中断。
于是百度,了解到了ubuntu下有nohup命令,感觉找到了救星,确实很好用,现在跑程序起码不用担心断开的问题了。网上关于nohup的使用说明就那么点,我看了下B站一个视频在11分钟那块介绍了nohup,也收获了几句用得上的命令,下面介绍下,算做个记录。

1.运行命令:nohup 自己要运行的命令 &
示例:nohup python train.py & (切记这是有&符号的),nohup &的意思是命令已经后台运行了,且打印的log文件不会显示在命令行了,默认放在运行命令文件夹下的nohup.out,这样自己命令的log信息都会保存这个.out文件里了。
2.查看运行log日志
命令:cat nohup.out
会打印出保存的log信息,不过还是建议使用xftp打开,用记事本或者notpad++打开这个.out文件,有时候.out文件会几十兆,命令行里盛不下多少的。
网上还说 nohup 命令 >log.txt & 可以重定向,即自己确定日志保存在log.txt里,任何名字格式似乎都可以,我还没有试,有试过的记得评论下。
3.如果想中途停止自己的程序怎么办?
这是我遇到的又一个问题,我命令输错了,怎么停掉。这需要有不错的ubuntu素养了(在下基础为0,很艰难呀)。下面介绍。
在执行完 nohup 命令 & 后,命令行终端会出现如下图所示提示,此时就可以使用 kill -9 5469杀掉进程了(同样我还是没试过,因为还没遇到过终止进程的时候,以后遇到更新,抱歉)
ubuntu nohup命令学习
因为我的进程使用GPU,同样可以使用nvidia-smi查看使用GPU的进程,或使用 watch -n 0.5 nvidia-smi 动态显示使用情况,-n的参数是0.5,代表0.5秒刷新一次,你写1、1.5啥的都行哈。
如下图,5469就是我的进程。
ubuntu nohup命令学习
结束。