이와 유사한 질문을 많이 보았지만 문제는 다른 솔루션으로 내 문제를 해결하지 못했다는 것입니다. 2 개의 파이썬 스크립트를 실행하고 .NET을 사용하여 출력을 별도의 로그 파일로 리디렉션하고 싶습니다 nohup
.
이 코드는 다음과 같은 bash 스크립트에 있습니다 startmain
.
nohup python3 GUI.py > GUI.log 2>&1 &
nohup python3 main.py > main.log 2>&1 &
를 실행 sh startmain
하면 스크립트가 모두 실행되지만 두 로그 파일에는 아무것도 기록되지 않습니다.
이제 줄 끝에 startmain
있는 &
문자를 제거하여 코드를 변경한다고 가정 해 보겠습니다 .
nohup python3 GUI.py > GUI.log 2>&1
nohup python3 main.py > main.log 2>&1
이 코드는 스크립트가 백그라운드에서 실행되는 것을 원하지 않으므로 GUI.py 만 실행됩니다. 그러나 여기서는 실제로 GUI.py의 모든 출력을 GUI.log로 보냅니다 . 왜 main.py가 여기에서 실행되지 않는지 알고 있지만,이 경우 출력이 GUI.log에 기록되는 이유는 모르겠지만 백그라운드에서 스크립트를 실행하려고 할 때가 아닙니다.
내 문제가 여기에 무엇인지 아십니까? 비슷한 질문과 다른 점은 2 개의 스크립트를 실행하고 있다는 것인데, 이것이 작동하지 않는 이유가 될 수 있습니다.
도움을 주신 @KamilCuk에게 감사드립니다!
-u
옵션을 추가 하면 문제가 해결되었습니다.
nohup python3 -u GUI.py > GUI.log 2>&1
nohup python3 -u main.py > main.log 2>&1
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다