Unix Background process STOPPED abnormally
There are several ways a process running in the background can be stopped. All of them involve one of these signals:
SIGSTOP
SIGTSTP
SIGTTOU
SIGTTIN
SIGSTOP
is severe. It's unblockable, unignorable, unhandlable. It stops the process as surely as SIGKILL
would kill it. The others can be handled by the background process to prevent stopping.
- A signal was sent by another process using
kill(2)
, or by the process to itself usingraise(3)
orkill(2)
- The process attempted to write to the terminal, and the terminal option
tostop
is enabled (see output ofstty -a
). This generatesSIGTTOU
. - The process attempted to change the terminal modes with
tcsetattr(3)
or an equivalentioctl
. (These are the same modes shown bystty
.) This generatesSIGTTOU
regardless of the current state of thetostop
flag. - The process attempted to read from the terminal. This generates
SIGTTIN
.
This list is probably very incomplete.
Are you using tcsh by any chance? Tcsh actually comes with a built-in nohup command that I've had lots of problems with before, seeing the exact behavior you're seeing.
Try using /usr/bin/nohup
directly if that is the case.