Зомби делают из задания 'tail -f' cron'а, которое запускает и запускает скрипт оболочки

Я понимаю, что не нужно беспокоиться об одном подобном зомби-процессе, я просто хочу получить более профессиональный результат (без зомби) из своего кода.

Моя задача cron по вызову сценария оболочки создает одного зомби сценария оболочки только при первом запуске сценария оболочки; то есть, в первый раз ПОСЛЕ 'tail -f' "догоняет" при первоначальном запуске. Это задание @reboot cron, поэтому при перезагрузке зомби сценария оболочки не генерируется, даже если задание cron запускает сценарий оболочки много раз, если в "tail -f" есть больше строк, немедленно доступных из файла. это мониторинг (/var/log/kern.log). Как только задание cron 'tail -f' перехватит последнюю строку в файле kern.log, зомби будет создан в следующий раз, когда 'tail -f | grep ...|xargs myshellscript'производит вывод. Как только этот одиночный зомби создан, его больше никогда не добавляют, независимо от того, сколько раз запись cron производит дальнейший вывод.

Я пробовал очевидное изменение записи cron для запуска сценария оболочки, начинающегося с "nohup" и сопровождаемого "&", но этот зомби все еще создается.

запись в crontab:

@reboot nice -n15 /usr/bin/tail -F -n 0 /var/log/kern.log |/bin/grep --line-buffered ' SRC=' |stdbuf -o0 /bin/grep -v 'SRC=10\.' |stdbuf -o0 grep -v 'SRC=0\.0\.0\.0' |stdbuf -o0 grep -v 'SRC=127.0\.0\.1' |stdbuf -o0 /bin/grep -v 'SRC=192\.168\.' |stdbuf -o0 awk '{for (i=4;i<=NF;i++) {if ($i ~ "^SRC=") {{gsub("SRC=","",$i); printf $i" \""} printf "kern.log "$1" "$2" "$3; for (i=i;i<=NF;i++) {if ($i ~ "^PROTO=" || $i ~ "^SPT=" || $i ~ "^DPT") {printf " "$i}} print "\""}}}' |xargs -l1 /home/homeowner/blacklistme.sh >/dev/null 2>&1

Независимо от того, заканчивается ли /home/homeowner/blacklistme.sh командой "exit" или без нее, этот зомби тоже не предотвращается.

Это часть проекта брандмауэра, которым я делюсь на GitHub, направленного на защиту владельцев систем видеонаблюдения и автоматизации Linux. Более подробная информация на https://github.com/kenneth558/robust-linux-firewalling-scripting. Спасибо всем, кто может мне помочь!

0 ответов

Другие вопросы по тегам