-
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.