Nohup: Difference between revisions
No edit summary |
No edit summary |
||
Line 15: | Line 15: | ||
</pre> | </pre> | ||
stdout and stderr output that would normally go to the terminal goes to a file called ./nohup.out. | |||
The name of the output files can be modified by redirecting the output streams ''inside'' the nohup command: | |||
<pre> | |||
nohup command > my-stdout-file.out 2> my-stdout-file.out & | |||
</pre> | |||
This command won't produce a nohup.out file, but two my-stdout-file.out and my-stdout-file.out files. | |||
Note that nohupping backgrounded jobs is typically used to avoid terminating them when logging off from a remote SSH session. | Note that nohupping backgrounded jobs is typically used to avoid terminating them when logging off from a remote SSH session. | ||
Line 23: | Line 31: | ||
This problem can be overcome by redirecting all three I/O streams: | This problem can be overcome by redirecting all three I/O streams: | ||
<pre> | |||
nohup ./myprogram > foo.out 2> foo.err < /dev/null & | |||
</pre> | |||
Revision as of 19:10, 14 October 2016
External
- nohup on wikipedia http://en.wikipedia.org/wiki/Nohup
Internal
Overview
nohup is a POSIX command to ignore the HUP (hangup) signal. The HUP signal is, by convention, the way a terminal warns dependent processes of logout.
nohup command &
stdout and stderr output that would normally go to the terminal goes to a file called ./nohup.out.
The name of the output files can be modified by redirecting the output streams inside the nohup command:
nohup command > my-stdout-file.out 2> my-stdout-file.out &
This command won't produce a nohup.out file, but two my-stdout-file.out and my-stdout-file.out files.
Note that nohupping backgrounded jobs is typically used to avoid terminating them when logging off from a remote SSH session.
A different issue that often arises in this situation is that ssh is refusing to log off ("hangs"), since it refuses to lose any data from/to the background job(s).
This problem can be overcome by redirecting all three I/O streams:
nohup ./myprogram > foo.out 2> foo.err < /dev/null &
!!!Solution Used to Background gld Remotely
status to interact with it"
sleep 1
else ... fi
__Referenced by:__\\ [{INSERT com.ecyrd.jspwiki.plugin.ReferringPagesPlugin WHERE max=20, maxwidth=50}]