Python脚本输出到控制台,即使它在后台运行

ext*_*eee 5 linux background pipe

我在后台运行python脚本,但为什么它仍然打印到控制台,即使用管道传输到文件?

我尝试了以下命令:

python script.py &
python script.py > output.txt &
Run Code Online (Sandbox Code Playgroud)

我尝试了一个简单的脚本:

print "hello world"
Run Code Online (Sandbox Code Playgroud)

python script.py &
Run Code Online (Sandbox Code Playgroud)

它仍然打印到控制台.

python script.py > output.txt &
Run Code Online (Sandbox Code Playgroud)

按预期工作,不打印到控制台.

Mar*_*ers 7

可能它是在stderr上输出的.试试这个:

python script.py > output.txt 2>&1 &
Run Code Online (Sandbox Code Playgroud)

或者看起来您可能已经启动了仍在运行的后台任务:

python script.py &
Run Code Online (Sandbox Code Playgroud)

键入fg以将其带到前台,然后使用它将其杀死Ctrl-C.