2

我正在使用AWS CodeDeploy ,其中在pm2上运行的服务器无法正常工作,因为故障排除文档中给出了此处的解释。

我按照文档和AfterInstall 脚本用于node . > /dev/null 2> /dev/null < /dev/null &在后台运行节点服务器。

我试过以下方法来杀死服务器

  • fuser -k 3000/tcp

  • lsof -P | grep ':3000' | awk '{print $2}' | xargs kill -9

  • kill -9 $(lsof -t -i:3000)

但每次新进程都会以不同的 PID 重新启动

如何终止此后台进程并将其添加到CodeDeployApplicationStop 脚本

4

2 回答 2

3

使用 grep 查找 pid 的问题之一是 grep pid 也会因此出现并且可以在目标之前杀死自己,所以尝试一下;

ps ax | grep node | grep -v grep

如果看起来合理,请查看此内容;

ps ax | grep node | grep -v grep | awk '{print $1}'

然后运行杀戮;

ps ax | grep node | grep -v grep | awk '{print $1}' | xargs kill -9

pkill是一个不太灵活的选项(没有正则表达式过滤),但是如果您使用它,请务必使用该-I标志,这样您就不会杀死任何您不打算杀死的东西。

于 2016-03-09T03:15:16.087 回答
1

我能够使用pkill node命令杀死。

于 2016-03-14T14:23:58.467 回答