
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 :)