通常我想在linux中运行我的python代码,如下所示:
nohup python test.py > nohup.txt 2>&1 &
在test.py文件中,我经常使用 print
将一些消息打印到stdout。但实际上我必须等待很长时间才能看到消息被打印到nohup.txt。如何快速打印出来。
答案 0 :(得分:3)
您可以在flush
上致电stdout
。如果在print
调用后调整代码以刷新缓冲区是可行且切实可行的,请test.py
:
from sys import stdout
from time import sleep
def log():
while True:
print('Test log message')
# flush your buffer
stdout.flush()
sleep(1)
在运行此日志记录测试时,您可以检查nohup.txt
文件并查看实时打印的消息。
答案 1 :(得分:2)
确保您已安装test.py
import sys
sys.stdout = os.fdopen(sys.stdout.fileno(), 'w', 0)
这只是为此命令设置缓冲关闭...你应该看到立即输出
(你可能在stdbuf之前需要nohup ......我不确定)
或者......只是放在gulp.task('styles', function(){
return sass('./src/sass/**/*.sass',{
style: 'compressed'
})
.on('error', errorLog)
.pipe(autoprefixer(autoprefixerOptions))
.pipe(browserSync.stream())
.pipe(cssnano())
.pipe(gulp.dest('./app/build/css/')) /*Add '/' at the end of css */
});
.init_array