我是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启动的进程.
任何人都可以解释这里发生了什么,我在这里错过了什么.
谢谢.
我有一个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)
| 归档时间: |
|
| 查看次数: |
6771 次 |
| 最近记录: |