awslogs代理重复创建僵尸进程

时间:2017-04-19 02:16:54

标签: amazon-web-services amazon-cloudwatch

我在ubuntu 16上运行awslogs agent

当我启动awslogs代理时,创建了两个进程。

$ sudo systemctl start awslogs
root     25973     1  0 Feb13 ?        00:00:00 /bin/sh /var/awslogs/bin/awslogs-agent-launcher.sh --start --background --pidfile --user awslogs --chuid awslogs &
root     25976 25973  0 Feb13 ?        02:16:01 /var/awslogs/bin/python /var/awslogs/bin/aws logs push --config-file /var/awslogs/etc/awslogs.conf --additional-configs-dir /var/awslogs/etc/config

并且,当我停止awslogs时,只有一个进程被杀死。其他一个过程还活着。

$ sudo systemctl stop awslogs
root     25976 25973  0 Feb13 ?        02:16:01 /var/awslogs/bin/python /var/awslogs/bin/aws logs push --config-file /var/awslogs/etc/awslogs.conf --additional-configs-dir /var/awslogs/etc/config

当我再次启动awslogs代理时,创建了两个进程。因此整个过程计数为3。

1 个答案:

答案 0 :(得分:0)

我遇到了同样的问题。

root@ip-192-168-101-176:~# ps -ef |grep aws
root       500 32151  0 16:17 pts/0    00:00:00 grep --color=auto aws
root     31644     1  0 16:02 ?        00:00:00 /bin/sh /var/awslogs/bin/awslogs-agent-launcher.sh --start --background --pidfile --user awslogs --chuid awslogs &
root     31645 31644  0 16:02 ?        00:00:06 /var/awslogs/bin/python /var/awslogs/bin/aws logs push --config-file /var/awslogs/etc/awslogs.conf --additional-configs-dir /var/awslogs/etc/config

进程ID“ 31644”是僵尸进程。

我正在考虑是否在crond上使用以下shell程序。

 kill $(ps -ef |egrep "\/var\/awslogs\/bin\/python \/var\/awslogs\/bin\/aws logs push --config-file \/var\/awslogs\/etc\/awslogs.conf --additional-configs-dir \/var\/awslogs\/etc\/config"|awk '{ ppid=$3; if (ppid==1) print $2}')

如果此父进程的Nomber为1,则此Shell程序将杀死awslogs进程。

我不承担任何责任。

相关问题