Zombie sendo feito a partir da tarefa cron 'tail -f' que o grep e inicia o shell script

1

Eu percebo que um único processo de zumbi como este não é nada para se preocupar, eu só quero um resultado mais profissional (sem zumbi) do meu código.

Meu trabalho cron chamando um script de shell produz um único zumbi do script de shell apenas na primeira vez em que ele inicia o script de shell; isto é, a primeira vez APÓS o "tail -f" "alcança" ao iniciar inicialmente. Esta é uma tarefa cron do @reboot, portanto, durante a reinicialização, não haverá nenhum zumbi do shell script produzido, embora a tarefa cron inicie o shell script várias vezes, desde que a 'tail -f' tenha mais linhas imediatamente disponíveis no arquivo está montando (/var/log/kern.log). Quando a tarefa cron 'tail -f' alcança a última linha do kern.log, o zumbi será criado na próxima vez que o 'tail -f | grep ... | xargs myshellscript 'produz saída. Uma vez que o único zumbi é criado, nunca mais será adicionado a ele, independentemente de quantas vezes a entrada do cron produza mais saída.

Eu tentei o óbvio de modificar a entrada do cron para iniciar o shell script precedido por 'nohup' e seguido por '& amp;' mas esse zumbi ainda é feito.

entrada 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

Se o /home/homeowner/blacklistme.sh termina com ou sem um comando "exit", isso também não impede o zumbi.

Isso faz parte de um projeto de firewall que estou compartilhando no GitHub, voltado para proteger os proprietários de automação e vigilância doméstica do Linux. Mais informações em link . Obrigado a qualquer um que possa me ajudar!

    
por kenneth558 24.02.2016 / 21:56

0 respostas