Terminar uma barra de script de shell de um script foo.

0

Eu tenho um script foo que, se fornecido um argumento start , inicia, entre outras coisas, um script bar no plano de fundo e saídas - bar contém um loop infinito.

Posteriormente, quero chamar foo com o argumento stop e gostaria que o script bar , que ainda é executado em segundo plano, pare de ser executado.

Qual é a maneira como o livro didático consegue isso?

    
por user695652 16.08.2017 / 02:21

1 resposta

1

Para fazer isso do jeito que os scripts init normalmente fazem, quando foo inicia a barra, você deve escrever o PID da barra em um arquivo chamado / var / run / bar (ou local similar dependendo do seu SO). Então quando você chama foo stop, você lê o PID e sinaliza o processo da barra apropriadamente. Claro que existem outras soluções, mas esta parece ser uma resposta "livro-texto".

    
por 16.08.2017 / 02:43