我在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。
答案 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进程。
我不承担任何责任。