start-stop-daemon não funciona como esperado

2

Não consigo entender por que o start-stop-daemon não está executando o script abaixo. O que estou fazendo de errado? O comando start-stop-daemon informa que ele iniciará o nó ao usar o sinalizador --test, mas quando eu realmente executo o processo, ele não é iniciado.

root@server:~# cat /var/www/a/app.js
var http = require("http")
var fs = require("fs")

fs.writeFileSync("app.pid", process.pid)

http.createServer(function(req, res)
{
    res.writeHead(200, {"Content-Type": "text/plain"})
    res.end("Test")
}).listen(3000)

console.log("App A is running, PID", process.pid)
root@server:~# node /var/www/a/app.js
App A is running, PID 18517
^Z
[1]+  Stopped                 node /var/www/a/app.js
root@server:~# pidof node
18517
root@server:~# kill -9 'pidof node'
root@server:~# fg
-su: fg: job has terminated
[1]+  Killed                  node /var/www/a/app.js
root@server:~# rm /var/www/a/app.pid
root@server:~# start-stop-daemon --start --pidfile /var/www/a/app.pid --chdir /var/www/a --chuid www-data:www-data --background --exec /opt/iojs/bin/node app.js --test
Would start /opt/iojs/bin/node app.js  (as user www-data[33], and group www-data[33]).
root@server:~# start-stop-daemon --start --pidfile /var/www/a/app.pid --chdir /var/www/a --chuid www-data:www-data --background --exec /opt/iojs/bin/node app.js
root@server:~# pidof node
root@server:~# start-stop-daemon --start --pidfile /var/www/a/app.pid --chdir /var/www/a --chuid www-data:www-data --background --exec app.js --test
Would start app.js  (as user www-data[33], and group www-data[33]).
    
por mhingston 03.03.2015 / 11:17

1 resposta

0

O comando start-stop-daemon start usa --exec para determinar o arquivo binário a ser executado (no seu caso, /opt/iojs/bin/node ). Para indicar que argumentos para este comando devem ser adicionados com -- (no seu caso àpp.js )

Então você deve ligar assim:

start-stop-daemon --start --pidfile /var/www/a/app.pid --chdir /var/www/a --chuid www-data:www-data --background --exec /opt/iojs/bin/node -- app.js

Espero que isso resolva seu problema

    
por 10.06.2015 / 03:11