Зомби-процессы оставлены неудачной проверкой Sensu
У меня есть проверка Sensu, которая делает git-клон на репо, поэтому мы можем собирать данные о времени безотказной работы и производительности. Недавно у нас была проблема с доступом к репо, что привело к сбою теста. Это было воспринято Sensu, как и ожидалось (ууу!), Но, очевидно, процесс зомби создавался для каждого неудачного теста. В конце концов, когда тест не удался около недели, мы достигли максимального количества процессов для ОС, и все остановилось.
Некоторые примеры процессов зомби (PID 1774 - это клиентский процесс Sensu):
$ ps -ef | grep git
root 2320 1774 0 23:41 ? 00:00:00 [git-remote-http] <defunct>
root 2797 1774 0 23:42 ? 00:00:00 [git-remote-http] <defunct>
root 3267 1774 0 23:43 ? 00:00:00 [git-remote-http] <defunct>
Это было вызвано такой проверкой:
"repo-check": {
"type": "metric",
"command": "git clone http://bad-url.git",
"handler": "influxdb",
"interval": 60,
"subscribers": [
"scm"
]
}
Любая идея, почему это будет создавать зомби? Я пытался воспроизвести с помощью других команд Unix, которые возвращают ненулевые коды выхода, но не видел никаких других несуществующих потоков.