使用ansible在远程主机上启动长时间运行的进程

Sou*_*nta 2 ansible

我是Ansible的新手.我正在尝试使用非常简单的Ansible Playbook在远程主机上启动进程.

这是我的剧本的样子

-
  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 Code Online (Sandbox Code Playgroud)

run.sh使用一些参数调用java服务器进程.我的理解是,即使在剧本完成之后,在远程机器上使用异步我的进程也会继续运行(这应该在大约45秒后发生.)

但是,只要我的playbook退出远程主机终端上的run.sh启动的进程.

任何人都可以解释这里发生了什么,我在这里错过了什么.

谢谢.

rog*_*one 5

我有一个ansible playbook来部署我的Play应用程序.我使用shell的命令替换来实现这一点,它为我做了诀窍.我认为这是因为命令替换产生了一个新的子shell实例来执行命令.

-
  hosts: somehost
  gather_facts: no
  user:  ubuntu  
  tasks:
    - name: change directory and run jetty server
      shell: dummy=$(nohup /run.sh &) chdir={{/home/ubuntu/code}}
Run Code Online (Sandbox Code Playgroud)