Skip to content
Advertisement

Nohup is not writing log to output file

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?

Advertisement

Answer

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.

User contributions licensed under: CC BY-SA
8 People found this is helpful
Advertisement