배경 :nohup.out
에 실시간으로 올바르게 출력되지 않기 때문에 nohup python test.py &
은 일반적으로 작동하지 않습니다. in this famous question (예 : nohup python -u
)의 솔루션은 in my other question here과 같이 항상 작동하지 않을 수 있습니다.인쇄를 다시 정의하여 로그 파일에 기록하십시오.
질문 : 내 코드에 print(...)
을 사용 했으므로 변경하지 않고 다른 로깅 기능으로 바꾸고 싶습니다. 그것이 가능 대신이 일을 print
을 재정의합니다 :
from __future__ import print_function
def print(s):
with open('out.txt', 'a+') as f:
f.write(str(s) + '\n')
old_print(s) # how to print it with the standard print too?
이전 질문에 대한 첫 번째 답변의 잘못된 점은 무엇입니까? – user2357112
@ user2357112 잘 기억한다면 '플러시'솔루션은 100 %의 경우에 작동하지 않았습니다. – Basj
'flush'가 작동하지 않는다면'close'가 더 잘 작동 할 것이라고 기대할 이유가 없습니다. 아마 nohup 문제의 근본 원인을 조사해야합니다. 지금하고있는 일은 기본적으로 산탄 총 디버깅입니다. – user2357112