no sublime como abortar a construção anterior automaticamente ao construir novamente

1

Eu sei que existe um mapeamento chave para cancelar a compilação. Mas eu quero automaticamente quando eu pressionar Ctrl + B, que irá abortar o anterior construído.

  1. É possível?

  2. É possível que o build "cancel" faça alguns trabalhos. E não apenas terminar o programa (por exemplo, enviar o sinal kill e deixar que o programa NodeJS feche todos os sockets ...)

Por exemplo:

http.createServer().listen(80)

Funciona na primeira vez que eu pressiono Ctrl + B. mas na segunda vez, eu sempre consigo não pode ligar a porta 80 ...

    
por Aminadav Glickshtein 20.08.2015 / 10:17

1 resposta

2

  • Faça seu aplicativo escrever um arquivo pid.

    No script de construção em que o serviço é gerado, escreva seu próprio pid. Ou pelo serviço em si, coisas como Apache e NGinx devem escrever suas próprias em algum lugar. Se este é o seu aplicativo, você pode considerar escrever seu próprio arquivo pid. Os locais habituais que eu saiba são /var/run para processos do sistema, iniciar um webservice pode se qualificar, ou ~/.appname , que é um arquivo oculto com o nome do aplicativo yoru no seu diretório inicial.

    No ambiente WindowsNT obter seu pid pode ser complicado e matar um processo por pid também pode ser complicado.

  • Na compilação, antes de gerar seu aplicativo, mate o (s) processo (s) de construção anterior por id, especificado no pidfile.

Código do tipo de protótipo:

Verbose e comentado: link

Eu não consigo mais me resumir e suas ~ 70 linhas de código orientado a função e significam ser modificadas para uso específico.

Também não foi testado, pois não tenho um caso de uso particularmente bom para isso.

    
por 28.08.2015 / 18:37