Using ansbile to launch a long running process on a remote host

I’m new to Ansible. I’m trying to start a process on a remote host using a very simple Ansbile Playbook.

Here is how my playbook looks like

-
  hosts: somehost
  gather_facts: no
  user:  ubuntu  
  tasks:
    - name: change directory and run jetty server
      shell: cd /home/ubuntu/code; nohup ./run.sh    
      async: 45

run.sh calls a java server process with a few parameters. My understanding was that using async my process on the remote machine would continue to run even after the playbook has completed (which should happen after around 45 seconds.)

However, as soon as my playbook exits the process started by run.sh on the remote host terminals as well.

Can anyone explain what’s going and what am I missing here.

Thanks.

I’ve also posted this question here on StackOverflow.

http://stackoverflow.com/questions/19212983/using-ansbile-to-launch-a-long-running-process-on-a-remote-host

FYI – There wouldn’t be a reason to use async with nohup as async is already daemonizing.