我有两个脚本,一个启动 appium 并使其在后台运行,另一个则杀死它(或者这就是它应该做的)。
启动_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命令并直接在终端中执行它,它确实有效。这是为什么?我该如何解决它?
PS:我在 Mac 上,不知道这有多相关。
答案1
TL;DR 我的脚本在终止 Appium 进程之前会自行终止。
问题出在我的脚本名称中包含 appium 。该代码$(ps aux | grep 'appium' | awk '{print $2}')
获取正在运行 /path/to/kill_appiums.sh 脚本的 /bin/bash 的 pid。然后它似乎杀死了应该杀死 appium 进程的脚本。然后就没有人杀死appium进程并且它保持活动状态:)