2012-06-26 3 views
2

В добрый день у меня есть проблема с вечным стартом \ стоп-скриптом.centos + nodejs + forever (startstop)

CentOS 6.2
ядра 2.6.32-220.el6.x86_64
nodejs v0.6.19
НПМ v 1.1.24
[email protected]

я создать NOLOGIN пользователя для запуска моего сценарий

/и т.д./пароль
узел: х: 501: 501 ::/USR/SBIN/NOLOGIN:/бен/Баш:/USR/местные/бен/узла:/USR/местные/бен/навсегда:/USR/местные/бен:/USR/местные/Библиотека/node_modules/навсегда/бен

я создать сценарий и именованные hello2.js

#!/bin/bash 
echo "aight" 

и попытаться продолжить

[[email protected] Desktop]$ forever start hello2.js 
    info: Forever processing file: hello2.js 
    [[email protected] Desktop]$ forever list 
    info: Forever processes running 
    data: uid command script forever pid logfile uptime 
    data: [0] n4EB node hello2.js 2675 2728 /home/max/.forever/n4EB.log 0:0:0:0.130 

Все в порядке. И следующий я создать старт-стоп скрипт для hello2.js и назвал его узел

===========================

#!/bin/bash 

#proccessname: node 

USER=node 
PWD=node 
node=node 
forever=forever 

start() { 

     forever start -l forever.log -o out.log -e err.log /home/max/Desktop/hello2.js 

      } 

stop(){ 

     /usr/local/bin/forever stopall 
    } 

    restart() { 
    stop 
    start 
    } 
    status(){ 
    /usr/local/bin/forever list 
    } 

    #see how we were called 
    case "$1" in 
    start) 
    start 
    ;; 
    stop) 
    stop 
    ;; 
    restart) 
    stop 
    start 
    ;; 
    status) 
    status 
    ;; 
    *) 
    echo $ "usage $0 {start | stop | status | restart}" 
    exit 1 
    esac 
    exit 0 

========================================= сделал его исполняемым ,

И следующий я хочу посмотреть, как это работает

[[email protected] Desktop]$ ./node 
$ usage ./node {start | stop | status | restart} 

[[email protected] Desktop]$ ./node start 
info: Forever processing file: /home/max/Desktop/hello2.js 

[[email protected] Desktop]$ ./node status 
**info: No forever processes running** 

Но

[[email protected] Desktop]$ forever start hello2.js 
info: Forever processing file: hello2.js 
[[email protected] Desktop]$ forever list 
info: Forever processes running 
data: uid command script forever pid logfile uptime 
data: [0] n4EB node hello2.js 2675 2728 /home/max/.forever/n4EB.log 0:0:0:0.130 
[[email protected] Desktop]$ 

где моя ошибка?

+0

Пробовали ли вы 'пс топор | grep -Ei "node | forever" 'после запуска скрипта init? – Tamil

+0

Вы можете взглянуть на мое решение, используя 'upstart' (который поддерживается в CentOS, я считаю): http://stackoverflow.com/q/11084279/813718. Это может сделать весь процесс намного проще и позволит вам использовать дополнительные функции, которые доступны только при использовании 'forever' изнутри узла. –

+0

[max @ localhost Desktop] $ ps ax | grep -Ei "node | forever" 2675? Ss 28:23 node/usr/local/bin/forever start hello2.js 11222 pts/0 S + 0:00 grep -Ei node | forever 30613? S 0:03 gedit/home/max/Desktop/node – karandash

ответ

0

Попробуйте

nohup forever start -l forever.log -o out.log -e err.log /home/max/Desktop/hello2.js & 
Смежные вопросы