输出Log大法
nohup python -u my_test.py 2>&1 | tee -a me_test.log &
-
nohup 放在命令的开头,表示不挂起(no hang up),也即,关闭终端或者退出某个账号,进程也继续保持运行状态,一般配合&符号一起使用。如nohup command &
-
加上-u(unbuffered)参数后,表示python执行时,会强制其标准输出也同标准错误一样不通过缓存直接打印到屏幕。 如果不加u的话可能会发现print的内容无法显示到屏幕上。
-
2>&1 也就表示将错误重定向到标准输出上。2表示标准错误,1表示标准输出。这里的&相当于转义字符,如果不加&则会变成把标准错误2输出到名为1的文件中。
-
tee -a 表示在文件末尾追加,不会覆盖原本内容。
-
& 放在命令到结尾,表示后台运行,防止终端一直被某个进程占用,这样终端可以执行别到任务。