素材牛VIP会员
命令行显示和不显示输出
 a8***12  分类:Python  人气:1849  回帖:6  发布于6年前 收藏

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

 标签:shelllinuxpython

讨论这个帖子(6)垃圾回帖将一律封号处理……

Lv5 码农
Y2***Y2 JS工程师 6年前#1

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

python script.py > log.txt

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

Lv5 码农
隔***王 学生 6年前#2

怎么关掉打印?

将打印内容重定向到/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行开始滚动输出
Lv6 码匠
lx***rx UI设计师 6年前#3

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

Lv5 码农
蜗***牛 Linux系统工程师 6年前#4

怎么关掉打印?

  • python yourScript.py > out.txt

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

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

Lv3 码奴
记***6 JAVA开发工程师 6年前#5

使用nohub

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

Lv6 码匠
zx***30 其它 6年前#6

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

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

 文明上网,理性发言!   😉 阿里云幸运券,戳我领取