如何在Linux服务器后台训练模型
如何在Linux服务器后台训练模型
前言:清华项目组强度很高,无福消受,已提桶跑路
CSDN主页:https://blog.csdn.net/rvdgdsva
博客园主页:https://www.cnblogs.com/hassle

nohup命令
nohup
是一个 Linux 命令,用于在用户退出或关闭终端时继续运行进程。它的全称是 “no hang up”,可以防止进程接收到 SIGHUP(挂起信号),从而确保进程在用户注销后仍然保持运行。
开启进程
nohup ping www.baidu.com &
&
表示将进程放入后台运行。

2702308
为进程号,即PID
默认情况下,如果您没有指定输出文件,nohup
会将输出写入一个名为 nohup.out
的文件。

如果不添加&
,则通常会看到类似以下的输出:

nohup: ignoring input and appending output to 'nohup.out'
ignoring input
表示 nohup
命令忽略了标准输入(stdin)。也就是说,您不能通过终端向该进程提供输入,因为它不再与终端连接。
appending output to 'nohup.out'
表示 nohup将该进程的标准输出(stdout)和标准错误(stderr)重定向到一个名为 nohup.out
的文件中。
注意!!!
有没有&
并不影响输出,只是加上&
后缀回直接给出线程号。建议加上&
,然后记住线程号,免得之后找线程号很麻烦。
查看进程
tail -f nohup.out
和 cat nohup.out
都可以用于查看进程,两者有区别
cat nohup.out
- 功能:
cat
命令用于显示文件的全部内容。执行cat nohup.out
时,它会将nohup.out
文件的所有内容一次性输出到终端。 - 输出方式:如果文件内容较大,输出会一次性显示,可能会导致终端内容滚动,无法查看文件的末尾部分,除非使用滚动条或其他方式。
tail -f nohup.out
- 功能:
tail
命令用于显示文件的最后几行内容。使用-f
选项时,tail
会持续监视文件的变化,并在文件有新内容追加时自动输出这些新内容。 - 输出方式:可以实时查看
nohup.out
文件的最新输出,特别适合监控正在运行的进程的日志或输出。

结束进程
1、如果使用&
符号来开启进程
可以直接看到进程号,使用
kill <PID>
停止进程
如图

2、如果不使用&
符号来开启进程
使用
ps -u 用户名 -o pid,cmd | grep ping
来查看这个ping
进程
然后使用
kill <PID>
停止进程

后台训练模型
nohup python main.py algo=sac seed=0 &
差不多就是这样,nohup
打头,&
结尾,里面是模型训练的命令行语句
注意事项
如果你先运行了A线程,那么数据会被记录到 nohup.out
文件中
如果停止A线程,在同一目录下运行B线程,那么数据将会接着被记录到同一个 nohup.out
文件中
所以如果停止线程的话,就把 nohup.out
文件一起处理掉吧