撰写时间:2017.10.24
在公司里面服务器上跑代码总是要几天时间,所以知道nohup命令是在服务器上跑代码的首要保证,我也是才知道这个命令.这个命令的功能和&的功能类似.但是&后台运行的教程会随着窗口父进程的关闭而关闭,但是实际的情况在服务器上运行的时候,是希望当我的本地机子关闭的时候,进程是不会被kill的,这个时候就需要nohup命令.下面这篇博文是记录为在使用nohup命令的过程中遇到的一些问题.
命令的基本格式为
nohup command &
#默认输出是重定向到nohup.out文件的
关于输出重定向的问题
nohup command >file.out 1&>2 &#将标准输出和错误输出都重定向到file.out
运行python代码log文件不更新
因为python的输出有缓冲,所以在运行命令的时候加上-u参数
nohup python -u main.py &
pytorch指定GPU和nohup使用的时候出错”no such directory or file”
CUDA_VISIBLE_DEVICES=0 nohup python -u main.py>log.txt 2>&1 &
#注意CUDA_VISIBLE_DEVICES在nohup前面
如何kill nohup的进程
#筛选需要kill的进程pid
ps -aux|grep "process name"
kill -9 pid