Ok, so I may have some more insight to this issue (finally), if you have a moment to confirm or deny what I am seeing/assuming:
Most of my commands run a command and exit without spawning any child processes, but when attempting to start a daemon via init or running a script that loops infinitely, I seem to run into this timeout issue. The assumption is the child process is attached to the SSH session via stdin/stdout/stderr and since the process is a daemon, it won't be stopping on its own, thus we never end the session and the timeout occurs. Does that jive at all? If it does, is there a mechanism to avoid this? I have seen a few things online on how to redirect stdout/stderr away from the session for a long running script: http://serverfault.com/questions/36419/using-ssh-to-remotely-start-a-process, but those things will suppress the ability to get good return codes and command output.
Most of my commands run a command and exit without spawning any child processes, but when attempting to start a daemon via init or running a script that loops infinitely, I seem to run into this timeout issue. The assumption is the child process is attached to the SSH session via stdin/stdout/stderr and since the process is a daemon, it won't be stopping on its own, thus we never end the session and the timeout occurs. Does that jive at all? If it does, is there a mechanism to avoid this? I have seen a few things online on how to redirect stdout/stderr away from the session for a long running script: http://serverfault.com/questions/36419/using-ssh-to-remotely-start-a-process, but those things will suppress the ability to get good return codes and command output.