kill -9 não funciona do script bash, mas funciona no console

1

Eu tenho dois scripts, um inicia o appium e faz com que ele seja executado em segundo plano, o outro o mata (ou é o que ele deve fazer).

start_appium.sh:

nohup node $APPIUM --nodeconfig $CONFIG_PATH -a $IP_ADDRESS --port $APPIUM_PORT --chromedriver-port $CHROME_DRIVER_PORT --log $LOG_FILE > /dev/null 2>&1 &

kill_all_appiums.sh:

kill -9 $(ps aux | grep 'appium' | awk '{print $2}')

No entanto, o script kill não funciona quando executado. Se eu copiar o mesmo comando kill e executá-lo diretamente no terminal, ele funciona. Por que isso e como posso corrigi-lo?

PS: estou em um Mac, não sei o quão relevante isso é.

    
por h3dkandi 16.12.2016 / 10:25

1 resposta

1

TL; DR Meu script se mata antes de matar o processo Appium.

O problema estava no nome do meu script contendo appium em seu nome. O código $(ps aux | grep 'appium' | awk '{print $2}') obtém o pid do / bin / bash que está executando o script /path/to/kill_appiums.sh. E então parece que isso mata o script que deveria estar matando o processo do appium. Então não há ninguém para matar o processo appium e ele permanece ativo:)

    
por 16.12.2016 / 14:09

Tags