nohup语法
nohup Command [ Arg ... ] &
Command: 要执行的命令,如:python train.py,即执行train.py程序
Arg: 一些参数,可以指定输出文件
&: 让命令在后台执行,终端退出后命令仍然执行
nohup默认行为
- 如果nohup命令的标准输入是终端,那么nohup将会默认使用/dev/null来重定向。
- 如果nohup命令的标准输出是终端,那么标准输出会被附加到文件nohup.out中;如果用户没有在当前目录创建文件的权限,那么就会把输出附加到$HOME/nohup.out中;如果还是没有写入权限,那么该命令就不会执行。
- 如果nohup命令的标准错误是终端,那么就会被定向到标准输出的附加的文件描述符。如果标准输出被关闭了,那么标准错误就会像上面一样尝试附加到nohup.out或$HOME/nohup.out中。
nohup使用
执行指令
nohup python train.py >out.log 2>&1 &
意思为执行train.py程序,并将输出信息存入out.log文件中。该文件和train.py在同一目录下。
可以通过指令cat out.log
查看out.log文件中的内容。
终止指令
通过
ps -ef | grep "command" #查找指令的PID
kill -9 PID1 PID2 #终止进程1、2
#批量终止
pkill -f "command"
其中command是想要杀死的进程的关键字