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

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

Eu tenho dois scripts, um inicia o appium e o faz rodar em segundo plano, o outro o mata (ou é isso que deveria 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}')

O script kill, entretanto, não funciona quando executado. Se eu copiar o mesmo comando kill e executá-lo diretamente no terminal, ele funcionará. Por que isso acontece e como posso consertar isso?

PS: Estou em um Mac e não sei o quão relevante isso é.

Responder1

DR Meu script se mata antes de encerrar 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 appium. Então não há ninguém para encerrar o processo appium e ele permanece ativo :)

informação relacionada