first off --- forum rules says you're not suppose to bump up questions so you broke this rule by putting in your second post on this thread ...
second, your test-rsh is not accurate because the "df -k" command you are giving terminates immediately after it gives you a one-time output ... try testing with a "ls -l /dir/file" loop instead ... if your result still disallows you putting the rsh job in the background, try the code below ...
run the rsh command in the background inside a sub-shell ...
your test is still terminating after the lone "ls -l" call ... you need to create a script that runs a command loop (see below) and then copy that over to the remote server and then test with that ...
Where machine is the name of the remote computer and command is the remote command to be performed.
This works because the -n flag attaches the rsh's standard input to /dev/null so you can execute the complete rsh command in the background of the local computer. Also, the input/output redirections on the remote computer (the stuff inside the single quotes) makes rsh think the session can be terminated since there is no data flow. In all truth, you don't have to use /dev/null. Any filename will work.