2013-02-04 11 views
6

ho scritto uno script di avvio per ubuntu per avviare manualmente il mio server node.js o all'avvio. Ma termina sempre con lo stato 127 e non riesco a trovare più informazioni su cosa sta andando male. Se lo eseguo manualmente allora funziona e l'ho anche testato su Ubuntu 12.10 dove funziona anche ... non funziona su Ubuntu 10.04 che è il server di produzione che sto usando.server node.js in esecuzione utilizzando upstart causa 'terminato con stato 127' su 'ubuntu 10.04'

Lo script:

description "" 
author  "" 

start on started mountall 
stop on shutdown 
respawn 
respawn limit 20 5 

# Max open files are @ 1024 by default. Bit few. 
limit nofile 32768 32768 

env HOME=/home/projects/<project_name>/data/current 

script 
    export HOME=$HOME 
    chdir $HOME 
    exec sudo -u <user_to_launch_the_script> /usr/bin/node /home/projects/<project_name>/data/current/server.js 2>&1 >> /var/log/node.log 
end script 

alcuna idea di dove trovare ulteriori informazioni sullo stato 127? O come posso risolvere questo problema? ho cercato in /var/log/daemon.log e in /var/log/syslog.log .. ma non ci sono informazioni rilevanti eccetto per 'main process (29520) terminato con status 127'.

saluti,

Daan

+0

http://tldp.org/LDP/abs/html/exitcodes. html – StuR

risposta

9

127 in bash significa: "Command not found", illegal_command, possibile problema con $ PATH o di un errore di battitura.

Fonte: http://tldp.org/LDP/abs/html/exitcodes.html

Questo potrebbe essere una domanda per l'errore del server, in quanto è correlato bash, ma questa domanda/risposta potrebbe aiutare:

https://serverfault.com/questions/277706/cron-fails-with-exit-status-127

+0

ok, ho estratto il mio comando di avvio in uno script bash separato che eseguo dallo script upstart e poi sembra funzionare ... –

0

avevano lo stesso messaggio di errore, rintracciato giù in registro upstart personalizzato che non è riuscita con /usr/bin/env: node: No such file or directory, questa era la mia correzione:

https://github.com/joyent/node/issues/3911

0

Aveva questo problema. Sto distribuendo app web con gunicorn in ubuntu server 14.04. Sposta le tue istruzioni principali su uno script bash. E ricorda di rendere eseguibile lo script. Avevo trascurato di rendere lo script eseguibile bash e così mi è stato sempre il 127.

description "Gunicorn app running myproject" 

start on runlevel [2345] 
stop on runlevel [!2345] 

respawn 

setuid <user> 
setgid <group> 

exec bash /path/to/bash/script/ 

poi il mio script bash

#!/bin/bash 
# description "bash script that handles loading env and running gunicorn" 

# load up the project's virtualenv 
source /path/to/virtualenv/bin/activate 

# minimal settings 
exec gunicorn app:app 
Problemi correlati