using mutiple "nohup" to execute multiple commands.

I need to run multiple commands on remote server using the nohup...
I have tried 2 options

1) rsh <SERVER_NAME> -n "nohup perl $SCRIPTS_DIR/abc.pl ; $SCRIPTS_DIR/xyz.ksh & " &

2) rsh <SERVER_NAME> -n "nohup perl $SCRIPTS_DIR/abc.pl & nohup $SCRIPTS_DIR/xyz.ksh & " &

I need to know if the 1st command places both the scripts in "nohup", or do I have to use the second command to have both the scripts running without hangup?

Which is more optimised and effective, if both are solving my purpose?

The second is better. However, in both cases, output may get corrupted, since two nohups running at once will both try to output to nohup.out. I think a better idea would be to do split them into two separate rsh's.

rsh SERVER_NAME -n '( $SCRIPTS_DIR/abc.pl &> $HOME/abc.out) &'
rsh SERVER_NAME -n '( $SCRIPTS_DIR/xyz.ksh &> $HOME/xyz.out ) &'

By putting the execution of the shell into a sub-shell (...) you avoid the need for nohup. Once it is backgrounded and output redirected, the process won't see signals like SIGHUP when the parent shell executes.

Because the shell exits almost immediately, rsh should return very soon thereafter, and thus it is not needed to put rsh in the background.

I did use your syntax...but not entirely...
as the "()" stuff was somehow not working...
did use multiple rsh...with nohups on each one

Thanks a lot for the suggestions provided.
The multiple "rsh's" did help!