Thanks for your suggestion. PM2 actually looks really good. Great monitoring metrics and ansible seems to seamlessly invoke it no problem:
- name: Task17 - start nodejs - Step1 of 3 - execute startup script shell: pm2 start app.js register: status args: chdir: "/apps/test/postcodes.io" - debug: var: status ] and provides a handy output to the terminal "stdout": "[PM2] Applying action restartProcessId on app [app](ids: [ 0 ])\n[PM2] [app](0) ✓\n[PM2] Process successfully started\n┌─────┬────────┬─────────────┬─────────┬─────────┬──────────┬────────┬──────┬───────────┬──────────┬──────────┬──────────┬──────────┐\n│ id │ name │ namespace │ version │ mode │ pid │ uptime │ ↺ │ status │ cpu │ mem │ user │ watching │\n├─────┼────────┼─────────────┼─────────┼─────────┼──────────┼────────┼──────┼───────────┼──────────┼──────────┼──────────┼──────────┤\n│ 0 │ app │ default │ 12.0.0 │ fork │ 59888 │ 0s │ 1 │ online │ 0% │ 8.7mb │ wasadm │ disabled │\n└─────┴────────┴─────────────┴─────────┴─────────┴──────────┴────────┴──────┴───────────┴──────────┴──────────┴──────────┴──────────┘", "stdout_lines": [ "[PM2] Applying action restartProcessId on app [app](ids: [ 0 ])", "[PM2] [app](0) ✓", "[PM2] Process successfully started", "┌─────┬────────┬─────────────┬─────────┬─────────┬──────────┬────────┬──────┬───────────┬──────────┬──────────┬──────────┬──────────┐", "│ id │ name │ namespace │ version │ mode │ pid │ uptime │ ↺ │ status │ cpu │ mem │ user │ watching │", "├─────┼────────┼─────────────┼─────────┼─────────┼──────────┼────────┼──────┼───────────┼──────────┼──────────┼──────────┼──────────┤", "│ 0 │ app │ default │ 12.0.0 │ fork │ 59888 │ 0s │ 1 │ online │ 0% │ 8.7mb │ wasadm │ disabled │", "└─────┴────────┴─────────────┴─────────┴─────────┴──────────┴────────┴──────┴───────────┴──────────┴──────────┴──────────┴──────────┘" ] } } However, using pm2 has introduced other problems such as me failing to have it read the process.env file that node had no issues with so now I am not listening on the intended port with the custom credentials. No doubt there is a way to do this but before looking at adopting pm2 is there not just a simple fix to my existing ansible task in order to launch "node start" and keep that process up and running? On Thu, Sep 3, 2020 at 1:20 PM Stefan Hornburg (Racke) <ra...@linuxia.de> wrote: > On 9/3/20 2:07 PM, Sebastian Collins wrote: > > Hi, > > > > I have this task and I can't for the life of me get it to keep the > process running. I have added in some debug and it > > shows me the process is getting shutdown almost immediately after it is > started up as can be seen by the end time in the > > output I have provided below. Please advise how I can fix this so that > the process keeps on running as future tasks are > > performed. > > > > > > - hosts: nodes > > remote_user: root > > become_user: test > > become: true > > tasks: > > > > - name: execute startup script > > shell: nohup npm start > test.out 2>&1 & > > register: status > > args: > > chdir: "/apps/test/postcodes.io" > > > > - debug: > > var: status > > > > > > Use a proper daemon process manager (PM2, https://pm2.keymetrics.io/). > > Regards > Racke > > > Output: > > > > TASK [execute startup script] > ************************************************************ > > changed: [host] => {"changed": true, "cmd": "nohup npm start > test.out > 2>&1 &", "delta": "0:00:00.006275", "end": > > "2020-09-03 12:37:51.797561", "rc": 0, "start": "2020-09-03 > 12:37:51.791286", "stderr": "", "stderr_lines": [], > > "stdout": "", "stdout_lines": []} > > > > TASK [debug] > > > ****************************************************************************************************************** > > ok: [host] => { > > "status": { > > "changed": true, > > "cmd": "nohup npm start > test.out 2>&1 &", > > "delta": "0:00:00.006275", > > "end": "2020-09-03 12:37:51.797561", > > "failed": false, > > "rc": 0, > > "start": "2020-09-03 12:37:51.791286", > > "stderr": "", > > "stderr_lines": [], > > "stdout": "", > > "stdout_lines": [] > > } > > } > > > > If I go on to the host and run it manually it works: > > > > host:APACHE >nohup npm start > host.out 2>&1 & > > [1] 45428 > > user@host:/apps/test/postcodes.io > > host:APACHE > ps -ef | grep node > > user 45439 45428 3 12:54 pts/2 00:00:00 node server.js > > > > > > Any help much appreciated. > > > > > > -- > > You received this message because you are subscribed to the Google > Groups "Ansible Project" group. > > To unsubscribe from this group and stop receiving emails from it, send > an email to > > ansible-project+unsubscr...@googlegroups.com <mailto: > ansible-project+unsubscr...@googlegroups.com>. > > To view this discussion on the web visit > > > https://groups.google.com/d/msgid/ansible-project/02be6001-7a5f-4f13-b478-199947412270n%40googlegroups.com > > < > https://groups.google.com/d/msgid/ansible-project/02be6001-7a5f-4f13-b478-199947412270n%40googlegroups.com?utm_medium=email&utm_source=footer > >. > > > -- > Ecommerce and Linux consulting + Perl and web application programming. > Debian and Sympa administration. Provisioning with Ansible. > > -- > You received this message because you are subscribed to a topic in the > Google Groups "Ansible Project" group. > To unsubscribe from this topic, visit > https://groups.google.com/d/topic/ansible-project/wEC_V3rGxeg/unsubscribe. > To unsubscribe from this group and all its topics, send an email to > ansible-project+unsubscr...@googlegroups.com. > To view this discussion on the web visit > https://groups.google.com/d/msgid/ansible-project/bd730ce8-9abc-cce9-1854-14457cd27475%40linuxia.de > . > -- You received this message because you are subscribed to the Google Groups "Ansible Project" group. To unsubscribe from this group and stop receiving emails from it, send an email to ansible-project+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/ansible-project/CAFqnG036tjLc%3DDkScJ_RtcQvuyZgx5YUA3ubqk4jYeHnngSiPQ%40mail.gmail.com.