2013-02-04 44 views
6

我已經寫了一個ubuntu的啓動腳本來啓動我的node.js服務器手動啓動或啓動。但它始終以狀態127結束,我無法找到有關錯誤的更多信息。如果我手動執行它然後它的工作原理,我也測試了它在Ubuntu的12.10它也可以工作......它只能在Ubuntu 10.04上工作,這是我使用的生產服務器。運行node.js服務器使用upstart導致'終止狀態127'在'Ubuntu 10.04'

腳本:

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 

任何想法在哪裏可以找到有關狀態127的更多信息?或者我該如何解決這個問題?我查看了/var/log/daemon.log和/var/log/syslog.log ..但沒有相關信息,除了'主進程(29520)以狀態127'結尾。

親切的問候,

大安

+0

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

回答

9

127在bash的意思是: 「找不到命令」,illegal_command,用$ PATH或錯字可能出現的問題。

來源:http://tldp.org/LDP/abs/html/exitcodes.html

這可能是服務器故障問題,因爲它是bash的關係,但這種提問/回答可以幫助你:

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

+0

好吧,我提取我的啓動命令到一個單獨的bash腳本,我從暴發戶腳本執行,然後它似乎工作... –

0

有此問題。我正在ubuntu服務器14.04中使用gunicorn部署web應用程序。 將核心指令移至bash腳本。並記住讓腳本可執行。我忽略了使bash腳本可執行的,因此我會得到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/ 

然後我的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 
相關問題