Utilitário que pode ser configurado para executar dois comandos, e matar ambos quando um termina

0

Existe um utilitário comum (Ubuntu, talvez OSX) que pode executar um servidor serve ./public , depois executar alguns testes ./run-chrome-tests.sh e, quando os testes terminarem, mata o serve ./public .

Isso pode ser feito no bash, mas eu prefiro criar configuração, do que código, se for viável.

    
por Ashley Coolman 08.02.2018 / 11:20

1 resposta

2

Não tenho conhecimento de tal utilitário, mas é facilmente implementado em um script de shell.

Um pequeno script de shell que implementa o que você descreveu:

#!/bin/sh

serve ./public & serve_pid=$!
./run-chrome-tests.sh

kill "$serve_pid"

Você pode inserir uma chamada sleep 3 (ou similar) depois de iniciar serve em segundo plano, para permitir que ela inicialize corretamente antes de executar o script de teste.

$! será o PID do trabalho em segundo plano iniciado mais recentemente (o processo serve ). Quando o script run-chrome-tests.sh terminar, o script acima terminará explicitamente o processo serve sinalizando usando kill .

    
por 08.02.2018 / 11:44