【Linux】将程序的输出显示到屏幕,同时写入到log文件

输出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 表示在文件末尾追加,不会覆盖原本内容。

  • & 放在命令到结尾,表示后台运行,防止终端一直被某个进程占用,这样终端可以执行别到任务。

持续更新…

猜你喜欢

转载自blog.csdn.net/weixin_43693967/article/details/129866980