2014-04-11 3 views
0

부모 프로세스에서 tiny-lr (livereload) 서버를 시작한 다음 css 파일의 변경 사항을 찾는 하위 프로세스를 생성했습니다. livereload 서버를 하위 프로세스로 전달하는 방법 또는 하위 프로세스에서 현재 실행중인 livereload 서버를 쿼리하여 해당 포트에 대해 이미 사용 중이던 오류를 다시 생성하지 않도록 할 수 있습니다.tinylr/nodejs - 현재 실행중인 서버에 액세스하는 방법

노드 http 서버와 동일한 경우. 서버가 이미 실행 중이고 새로운 서버를 만드는 대신 사용할 수 있습니까?

+0

"알고있는 것이 현재 실행 중입니다."와 관련된 내용을 이해할 수 없습니다. 그것이 언제 다시 일어나기 위해 내려 갔는지 또는 더 복잡한 문제인지 알고 싶습니까? – durum

답변

1

라이브 리로드을 쿼리 할 수 ​​있습니다. 가능하고 여러 가지 방법으로 구현 될 수 있습니다.

  1. stdout/stdin을 사용하면 하위 프로세스와 통신 할 수 있습니다. 자세한 내용은 HERE을 참조하십시오. 기본적으로 한 프로세스에서 다른 프로세스로 메시지를 보내고 응답 할 수 있습니다.

  2. 포트가 사용 중인지 확인하려면 http.request을 사용하십시오.

  3. 파일을 사용할 수 있습니다. 서버와의 프로세스은 파일을 쓰기 모드로 유지합니다. 파일 내용에 서버가 실행되는 포트가 저장됩니다 (필요한 경우).

  4. sockets은 프로세스 간 통신에도 사용할 수 있습니다.

기본적으로, 위의 보장 100 % 비밀의 아무도는, 어쨌든 오류를 try/catch에 그래서 : 서버는 귀하의 확인 후 죽을 수 있지만 그것으로 뭔가를 원하기 전에.

어떻게 자식 프로세스에 livereload 서버에 전달하는 - 당신이 질문 중 확인에 대한 입니다 다른 프로세스 사이의 개체를 공유하는 의미 경우; 당신이 객체의 소유권을 바꾸는 것을 의미한다면 99,99 %는 그것이 가능하지 않다는 것을 확신합니다.

하나의 프로세스로 서버를 실행해야하는 경우 발생하는 문제점은 무엇입니까? 그리고, 사용하지 않으려 고한다면, 필요하다면 forever이 서버의 실행과 재시작을 돌 보도록합시다.