건물을 다시 만들 때 자동으로 이전 빌드를 중단하는 방법 누르면 자동으로

빌드를 취소하기위한 키 매핑이 있다는 것을 알고 있습니다.
하지만 Ctrl + B를 누르면 자동으로 실행되기 때문에 이전 빌드를 중단합니다.

  1. 가능한가?

  2. “취소”빌드가 일부 작업을 수행 할 수 있습니까? 그리고 프로그램을 종료하지 말아야합니다 (예 : kill 신호를 보내고 NodeJS 프로그램이 모든 소켓을 닫을 시간을 …)

예 :

http.createServer().listen(80)

Ctrl + B를 누르면 처음 작동합니다. 하지만 두 번째로, 나는 항상 포트 80에 바인딩 할 수 없습니다 …



답변

  • 앱이 pid 파일을 작성하도록합니다.

    서비스가 생성 된 빌드 스크립트에서 자신의 pid를 작성하십시오.
    또는 서비스 자체에서 Apache와 NGinx와 같은 것들은 어딘가에서 스스로 작성해야합니다. 이것이 당신의 앱이라면 당신은 당신 자신의 pid 파일을 쓰는 것을 고려할 것입니다. 내 지식에 대한 일반적인 위치는 /var/run 시스템 프로세스의 경우 웹 서비스 시작은 자격을 얻을 수 있지만,
    또는 ~/.appname, 그것은 당신의 yoru app의 이름을 따서 명명 된 숨겨진 파일입니다.
    홈 디렉토리.

    WindowsNT 환경에서 당신의 PID를 얻는 것이 까다로울 수 있습니다. , 및 PID로 프로세스를 죽이는 또한 까다로울 수 있습니다.

  • 빌드시, 앱을 생성하기 전에 pidfile에 지정된 id로 이전 빌드 프로세스를 종료하십시오.

프로토 타입 코드 :

자세한 정보 및 댓글 달기 : https://gist.github.com/thorsummoner/f1fc7acf94cf9696ef75

필자는 더 이상 기능적 코드의 70 줄을 끓여서 사용할 수 없으며 특정 용도로 수정해야했습니다.

그것도 내가 특별히 좋은 유스 케이스를 가지고 있지 않기 때문에 테스트되지 않았다.