Monday, April 18, 2022

[SOLVED] Nohup is not writing log to output file

Issue

I am using the following command to run a python script in the background:

nohup ./cmd.py > cmd.log &

But it appears that nohup is not writing anything to the log file. cmd.log is created but is always empty. In the python script, I am using sys.stdout.write instead of print to print to standard output. Am I doing anything wrong?


Solution

It looks like you need to flush stdout periodically (e.g. sys.stdout.flush()). In my testing Python doesn't automatically do this even with print until the program exits.



Answered By - wulong
Answer Checked By - Katrina (WPSolving Volunteer)