如何在ansible playbook任务中运行nohup命令?

如何在ansible playbook任务中运行nohup命令?,ansible,nohup,Ansible,Nohup,我是ansible的初学者。我正在尝试迁移linux脚本以使用nohup命令执行远程服务器启动,但它无法正常工作。ansible results状态更改:true,但当我检查流程是否启动时,它没有。因此,我必须手动重新启动它 谢谢你的帮助 我现在做的是: - name: "Performing remote startup on server {{ SERVER }}" command: nohup {{ JAVA_HOME }}/bin/java {{ DYNATRACE_AGENT_R

我是ansible的初学者。我正在尝试迁移linux脚本以使用nohup命令执行远程服务器启动,但它无法正常工作。ansible results状态更改:true,但当我检查流程是否启动时,它没有。因此,我必须手动重新启动它

谢谢你的帮助


我现在做的是:

- name: "Performing remote startup on server {{ SERVER }}"
  command: nohup {{ JAVA_HOME }}/bin/java {{ DYNATRACE_AGENT_REUS }} -jar -Dengine={{ ENGINE_NAME }} name-{{ ENGINE_JAR_VERSION }}.jar --server.port={{ ENGINE_PORT }} >{{ CONSOLE_LOG }} 2>&1 &
  args:
    chdir: "{{ SOMEVAR_HOME }}"
    async: 75
    poll: 0
    register: out
  - debug: 
      msg: '{{ out }}'
结果:

TASK [Performing remote startup on server] ***********************************************************************************************************************************************************************************
changed: [servername]

TASK [debug] ********************************************************************************************************************************************************************************************************************************
ok: [servername] => {
    "msg": {
        "ansible_job_id": "160551828781.28405",
        "changed": true,
        "failed": false,
        "finished": 0,
        "results_file": "/home/admindirectory/.ansible_async/160551828781.28405",
        "started": 1
    }
}

尝试使用
shell
而不是
command
模块。Bash重定向不适用于
命令

另外,你正在用一种奇怪的方式使用ansible。创建一个systemd单元(系统或用户级),并使用
systemd
模块启用/启动它。

请务必阅读。请改进问题格式