杀死由`node创建的端口3000上运行的respawing服务器。 > / dev / null 2> / dev / null< / dev / null&`

时间:2016-02-18 17:13:50

标签: unix amazon-web-services background-process aws-code-deploy

我使用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脚本

2 个答案:

答案 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命令终止。