Matando PGIDs, mas os processos estão reaparecendo, como faço para torná-lo persistente?

1

Eu corri ps aux --forest -j para ver os processos pai e filho. Aqui está um exemplo:

root      3744  3744  3744  0.0  0.2  77084  4160 ?        Ss   09:34   0:00 /usr/sbin/cupsd -f
lp        3747  3747  3744  0.0  0.1  63156  2236 ?        S    09:34   0:00  \_ /usr/lib/cups/notifier/dbus dbus:// 
lp        3748  3748  3744  0.0  0.1  63156  2240 ?        S    09:34   0:00  \_ /usr/lib/cups/notifier/dbus dbus:// 

Na terceira coluna é o PGID. Meu objetivo é matar todos os 3 desses PIDs usando o PGID do pai, 3744. Meu comando é -

pkill -TERM -g 3744

Isso funciona, no entanto, o processo reaparece com novos PIDs. Como posso evitar isso e torná-lo persistente?

    
por user53029 07.08.2015 / 18:59

1 resposta

2

Você está executando o Ubuntu 14.04, que usa o upstart como seu processo init. Como podemos ver em /etc/init/cups.conf , ele tem uma sub-rotina respawn , então, por padrão, quando o processo cupsd termina, outro será iniciado.

# kill -TERM -3390
# tail -1 /var/log/syslog
Aug  9 14:22:49 ubuntu kernel: [  283.270126] init: cups main process ended, respawning

Você disse que queria que a árvore de processo cupsd fosse eliminada e reiniciou na próxima reinicialização. Para fazer isso, você pode usar o comando initctl stop (ou apenas stop ):

# stop cups
cups stop/waiting

Você também pode querer parar cups-browsed , se quiser que todas as coisas associadas a xícaras parem.

Isso não desativará permanentemente o serviço. Na reinicialização, os processos de cups serão iniciados.

    
por 09.08.2015 / 20:41