I think you may need to launch your child process(es) like this
Code:
...
nohup ./run.exe inputfile >> /dev/null 2>>/dev/null &
...
That is, without piping the output of the parent or
run.exe into
ssh in the parent process -- do the pipe in
run.exe instead, passing any necessary arguments to it from the parent
Code:
...
nohup ./run.exe ${ARG1} ${ARG2} inputfile >> /dev/null 2>>/dev/null &
...
You need to handle your output to
ssh or any log files in
run.exe.
We use the above method to launch-and-forget a long-running application; the user executes the parent which launches the child, logs off and goes home. Bear in mind too that the child inherits the environment from the parent but it's not a bad idea to make any required environment settings in the child just to make sure.
Hope this helps some.