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


1

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

  1. 가능한가?

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

예 :

http.createServer().listen(80)

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


시도해 봤어? ? 그것은 당신이 빌드를 취소하고 빌드를 실행할 수 있습니다.
NonlinearFruit

보다 단순한 솔루션을 찾고 있습니다. 빌드 시스템에는 한 번에 하나의 인스턴스 만 실행한다고하는 매개 변수가 있다고 생각합니다.
Aminadav Glickshtein

프로젝트를 빌드 한 후 두 번째 빌드가 서버를 결국 종료하게합니까? 아니면 두 번째 빌드 후에도 서버가 정상적으로 계속 실행됩니까?
NonlinearFruit

대상 플랫폼은 Windows 또는 Linux입니까? (또는 둘 다)
ThorSummoner

답변:


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

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

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

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

프로토 타입 코드 :

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

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

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


1
나는 오늘 밤에 숭고한 네이티브에서 이것을 수행 할 수있는 프로토 타이핑을 들여다 보겠다.하지만 윈도우에서 작동 할 것이라는 확신을 줄 수는 없다.
ThorSummoner

1
@Amina 현재 .sublime-build 파일의 예를 제공 할 수 있습니까? 또는 시스템 구성을 빌드 하시겠습니까?
ThorSummoner
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.