命令行显示和不显示输出

我的python脚本里面有print输出,现在要它后台运行,加&是在后台了,
但是会不停的打印,怎么关掉打印?,如果又要查看打印的内容,怎么让它输出(还在运行)?

阅读 22k
6 个回答

怎么关掉打印?

将打印内容重定向到/dev/null中,相当于直接丢弃,任何地方都找不到打印的内容

python your_script.py >> /dev/null &

如果又要查看打印的内容,怎么让它输出(还在运行)?

python your_script.py >> log.txt &   #将输出重定向到当前目录下的log.txt文件中
cat log.txt  # 查看截止目前所有的日志内容
tail log.txt # 查看截止目前,最后10行日志
tail -f log.txt # 从最后10行开始滚动输出,准实时刷新
tail -n 100 -f log.txt  # 从最后100行开始滚动输出

假设你的脚本是 script.py
运行的时候进行输出重定向:

python script.py > log.txt

这样就可以了。
需要查看输出内容的时候,查看log.txt即可。

把程序做成一个守护进程
或者
把打印的东西写入到log里

使用nohub

比如:nohub python script.py > log.txt 即可,会在后台写入,前台也不显示。

怎么关掉打印?

  • python yourScript.py > out.txt

如果又要查看打印的内容,怎么让它输出(还在运行)?

  • 这里提供一个最简单的方法:tail -f out.txt

新手上路,请多包涵

python script.py > log.txt 2>&1 &

把打印信息和错误信息重定向到 log.txt

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏