2

こんにちは、永久に開始/停止するスクリプトに問題があります。

CentOS 6.2
カーネル 2.6.32-220.el6.x86_64
nodejs v0.6.19
npm v 1.1.24
forever@0.9.2

スクリプトを実行するための nologin ユーザーを作成します

/etc/passwd
node:x:501:501::/usr/sbin/nologin:/bin/bash:/usr/local/bin/node:/usr/local/bin/forever:/usr/local/bin: /usr/local/lib/node_modules/forever/bin

スクリプトを作成し、hello2.js という名前を付けました

  #!/bin/bash
echo "aight" 

実行してみてください

  [max@localhost Desktop]$ forever start hello2.js
    info: Forever processing file: hello2.js
    [max@localhost 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 の開始/停止スクリプトを作成し、彼に node という名前を付けます

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

#!/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

======================================== 実行可能にしました。

次に、これがどのように機能するかを確認したいと思います

[max@localhost Desktop]$ ./node
$ usage ./node {start | stop | status | restart}

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

[max@localhost Desktop]$ ./node status
**info: No forever processes running**

しかし

[max@localhost Desktop]$ forever start hello2.js
info: Forever processing file: hello2.js
[max@localhost 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
[max@localhost Desktop]$

私の間違いはどこですか?

4

1 に答える 1