我用两个运行npm start的nohup命令创建了一个可笑的剧本,但是第二个npm start没有运行。第一个命令运行,当我不将输出发送到dev / null时,我可以看到日志。在第二个nohup命令中,它将创建一个空的out文件,但不会运行该命令。忽略制表符间距,它的间距正确并且可以运行。问题是第二个nohup不运行npm start,但是如果我用文件替换“ / dev / null”,它将创建一个空文件,里面没有输出。第一个nohup运行,并在文件中输出。这是示例剧本摘录:
- name: Start Mongo
service:
name: mongod
state: started
- name: Wait for Mongo
wait_for:
host: 127.0.0.1
port: 27017
state: present
- name: Start API
shell: nohup npm start < /dev/null > /dev/null 2>&1 &
args:
chdir: /var/www/API
- name: Pause for 10 sec
pause:
seconds: 10
- name: Start ETL
shell: nohup npm start < /dev/null > /dev/null 2>&1 &
args:
chdir: /var/www/ETL
- name: Start Nginx
shell: sudo systemctl start nginx