I've looked through ssh man page and FAQ and tried a google search, but
can't seem to figure out how to use ssh to start a command on a remote
machine, have ssh exit immediately, and still have the command running
on the remote machine.

When I do

[popcorn][~]$ time ssh dave@popcorn "sleep 10&"

real 0m10.216s
user 0m0.060s
sys 0m0.000s

ssh waits for the sleep to finish. Does anyone either understand why
ssh is waiting for sleep to finish or how to make it not do it?

I've tried

ssh dave@popcorn "run_and_return sleep 10"

where run_and_return is the bash script:

#!/bin/bash
?@&

and a similar thing with a perl script that forks. I even tried having
the perl script fork, have its child fork, and then the grandchild
execute the command.

But ssh keeps sticking around...

Thanks for any help,
Dave

p.s. I'm using

[popcorn][~]$ ssh -V
OpenSSH_3.5p1, SSH protocols 1.5/2.0, OpenSSL 0x0090701f

on

[popcorn][~]$ uname -a
Linux popcorn 2.4.20-6 #1 Thu Feb 27 10:01:19 EST 2003 i686 athlon i386
GNU/Linux

with Fedora Core 2 installed.