Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/308.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
终端中没有来自python的输出_Python_Shell_Unix - Fatal编程技术网

终端中没有来自python的输出

终端中没有来自python的输出,python,shell,unix,Python,Shell,Unix,这是一种隐藏Python脚本的所有输出的方法吗 python myscript.py& 我试着用 python myscript.py& > log.txt 但我得到了一个输出。如果没有我需要的“&”,我就无法获得它。>log.txt仅重定向写入标准输出的输出。要完全捕获所有可能的输出,还需要重定向stderr: python myscript.py > log.txt 2>&1 & 请注意,将命令放在后台的符号在重定向之后的末尾。请参阅B

这是一种隐藏Python脚本的所有输出的方法吗

python myscript.py&
我试着用

python myscript.py& > log.txt

但我得到了一个输出。如果没有我需要的“&”,我就无法获得它。

>log.txt
仅重定向写入标准输出的输出。要完全捕获所有可能的输出,还需要重定向
stderr

python myscript.py > log.txt 2>&1 &
请注意,将命令放在后台的符号在重定向之后的末尾。请参阅Bash编程-简介HOWTO中的

在您的特定情况下,您正在启动Flask服务器;Flasks使用Python
日志记录
框架,默认配置是基于创建一个记录器,该记录器输出到
stderr
,而不是
stdout


您可以使用
日志记录
框架以不同方式配置日志记录;例如,您可以设置一个不同的处理程序来记录到特定的文件,而不是使用重定向。有关详细信息,请参见。

我终于发现了问题:“&”必须在该行的末尾。

它不起作用,因为
myscript.py
之后的
命令告诉shell为该命令打开一个单独的子进程,并且没有传递命令行的其余部分

你需要在最后通过&考试

python myscript.py > log.txt &

定义不起作用;使用
>log.txt时会发生什么情况?这与不使用重定向有何不同?脚本是否也写入stderr
,还是改为写入stderr?以下是我启动的脚本:Ok!这行代码有效:python myscript.py>log.txt 2>&1,但如果我运行python myscript.py&>log.txt 2>&1@cooow:否,因为您将
和符号放在末尾,而不是重定向之前;使用
python myscript.py>log.txt 2>&1&
@cooow:好的,您一开始没有在问题中包含这个细节。