2012-02-20 2 views
9

어떻게 다시 시작할 수있는 앱을 만들 수 있습니까? 자체적으로 다시 시작할 수있는 웹 관리자를 설정하는 앱을 만들고 싶습니다. 이것이 가능한가? 그렇다면 어떻게? 나는 이것이 노드에 내장 된 프로세스 모듈로 가능할 수도 있다고 생각했다.node.js 자체를 다시 시작할 수있는 앱

+0

여러 모듈 https://github.com/joyent/node/wiki/modules#에서 – sarnold

답변

11

저는 영원히 여러 번 실행했으며 쉽게 시작할 수 있습니다. 다음에서 확인하십시오 : https://github.com/nodejitsu/forever

+0

영원히 수동으로 다시 시작할 수있는 곳이 보이지 않습니다. – LordZardeck

+0

@Lord :'restart' 및'restartall' 명령에 특별한주의를 기울이십시오. – sarnold

+0

허, 읽어보기에 t. 지금 당장 설치하려고하고 있지만 Windows에서 문제가 발생했습니다. http://stackoverflow.com/questions/9366916/cant-install-forever-on-windows – LordZardeck

4

답장 시간이 조금 늦었지만 비슷한 요구 사항이 있습니다. 구성을 변경할 때마다 노드 프로세스를 다시 시작하려고했습니다. 내 노드 프로세스를 관리하기 위해 pm2를 사용하므로 정말 쉽다.

구성을 변경 한 후 노드 프로세스 내에서 process.exit()를 실행합니다. 지금까지 볼 수있는 것처럼 프로세스가 종료되면 pm2가 프로세스를 다시 시작합니다.

아직 어떤 부작용이 있는지 확실하지 않지만 지금 당장 나를 위해 잘 작동하는 것 같습니다.

+0

나에게 맞는 답변입니다. – Antoine

0

예, upstart는 nodemon없이 프로세스를 다시 시작합니다.

npm install -g nodemon 
sudo nodemon server.js 

nodemonnodemon를 시작한 디렉토리에있는 파일을 볼 것이며, 그들이 변경하는 경우, 자동 노드 응용 프로그램을 다시 시작합니다.

4

LK "나는

그것은 외부 종속성없이 가능하다 :

console.log("This is pid " + process.pid); 
setTimeout(function() { 
    process.on("exit", function() { 
     require("child_process").spawn(process.argv.shift(), process.argv, { 
      cwd: process.cwd(), 
      detached : true, 
      stdio: "inherit" 
     }); 
    }); 
    process.exit(); 
}, 5000); 

소스 : https://gist.github.com/silverwind/d0802f7a919ae86ff25e

관련 문제