我使用AWS CodeDeploy运行在pm2上的服务器由于在troubleShoot文档中给出here的解释而无法正常工作。
我按照文档和 AfterInstall脚本使用=COUNTIFS(A1:A10,1,C1:C10,"<" & .8)
在后台运行节点服务器。
我尝试过以下杀死服务器的方法
=COUNTIFS(B1:B10,1,D1:D10,"<" & .8)
node . > /dev/null 2> /dev/null < /dev/null &
fuser -k 3000/tcp
但每次新流程使用不同的PID 重新启动。
如何终止此后台流程并将其添加到 CodeDeploy 的 ApplicationStop脚本?
答案 0 :(得分:3)
使用grep查找pid的一个问题是grep pid也会显示为结果并且可以在目标之前自行终止,所以请尝试;
ps ax | grep node | grep -v grep
如果看起来合理,请查看此内容;
ps ax | grep node | grep -v grep | awk '{print $1}'
然后运行kill;
ps ax | grep node | grep -v grep | awk '{print $1}' | xargs kill -9
pkill
是一个不太灵活的选项(没有正则表达式过滤),但是如果你使用它,请确保使用-I
标志,这样你就不会杀死任何你不想要的东西。
答案 1 :(得分:1)
我能够使用pkill node
命令终止。