
하나는 appium을 시작하고 다른 하나는 백그라운드에서 실행되도록 하는 두 개의 스크립트가 있습니다(또는 그것이 수행해야 하는 작업입니다).
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}')
그러나 kill 스크립트는 실행 시 작동하지 않습니다. 동일한 kill 명령을 복사하여 터미널에서 직접 실행하면 작동합니다. 그 이유는 무엇이며 어떻게 해결할 수 있습니까?
추신: 저는 Mac을 사용하고 있는데 이것이 얼마나 관련성이 있는지 모르겠습니다.
답변1
TL;DR 내 스크립트는 Appium 프로세스를 종료하기 전에 자체적으로 종료됩니다.
문제는 이름에 appium이 포함된 내 스크립트의 이름에 있었습니다. 코드는 $(ps aux | grep 'appium' | awk '{print $2}')
/path/to/kill_appiums.sh 스크립트를 실행하는 /bin/bash의 pid를 가져옵니다. 그런 다음 appium 프로세스를 종료해야 하는 스크립트를 종료하는 것 같습니다. 그러면 appium 프로세스를 종료할 사람이 없으며 활성 상태로 유지됩니다. :)