빌드를 취소하기위한 키 매핑이 있다는 것을 알고 있습니다.
하지만 Ctrl + B를 누르면 자동으로 실행되기 때문에 이전 빌드를 중단합니다.
-
가능한가?
-
“취소”빌드가 일부 작업을 수행 할 수 있습니까? 그리고 프로그램을 종료하지 말아야합니다 (예 : 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 줄을 끓여서 사용할 수 없으며 특정 용도로 수정해야했습니다.
그것도 내가 특별히 좋은 유스 케이스를 가지고 있지 않기 때문에 테스트되지 않았다.