The nohup command only writes to nohup.out if the output is otherwise to the terminal. If you redirect the output of the command somewhere else – including /dev/null – that’s where it goes instead.

 nohup command >/dev/null 2>&1   

# doesn't create nohup.out

If you’re using nohup, that probably means you want to run the command in the background by putting another & on the end of the whole thing:

nohup command >/dev/null 2>&1 & 

# runs in background, still doesn't create nohup.out, no error file create