Your team starts the process pipeline in the background, so the calling script will exit immediately (or very soon). This will cause ssh to close the connection. This, in turn, will cause SIGHUP to be sent to any process connected to the terminal that was created for the -t option.
Your time ./myprog process is protected by nohup , so it should continue to work. But your mutt not, and that will probably be the problem here. I suggest you change your command line to:
nohup sh -c "time ./myprog $1 >my.log && mutt -a ${1%.*}/`basename $1` -a ${1%.*}/`basename ${1%.*}`.plt $2 < my.log 2>&1 " &
therefore, the entire conveyor will be protected. (If this is not fixed, you may need to do something with file descriptors - for example, mutt may have other problems with the lack of a terminal - or for quoting, you may need to configure it depending on the parameters - but try now ...)
psmears
source share