Algumas vezes, por erro dos programas envolvidos, ou por desleixo do usuário, mesmo após algum usuário se deslogar, seus programas (processos) não são terminados. Em algum dos casos, como o programa wget, não se cosidera como problema, mas no caso de um netscape que consome memória, processamento, e banda de rede, é um problema. Como os admins cansaram de atender pedidos de usuários para finalizar os processos de algum outro que já não estava logado, então decidiram criar o script killer, que deveria finalizar automaticamente todos os processos de usuários que estariam rodando ``indevidamente''.
Para isso criamos o um pacote killer que contém bascamente três arquivos. A seu funcionamento e propósito estão detalhados a seguir.
Este arquivo deve conter um nome de programa por linha. Estes programas devem ser programas ``candidatos'' a não finalizarem corretamente. Portanto o conteúdo do arquivo poderia ser algo do tipo:
netscape GoodStuff emacs gimp
Mas nunca colocaríamos um wget nesta lista, ao menos que a adminstração decida que este programa não deve ser utilizado sem que o usuário esteja logado na máquina. Se for detectado que algum outro programa não estiver sendo finalizado corretamente e o desejo é que o programa não seja rodado pós logout então deve-se adicionar este programa à esta lista para que o killer o verifique e o finalize, caso necessário.
Este arquivo é só um ``wrapper'' entre o script mata.pl e o arquivo texto programas. O que ele faz é, para cada linha do arquivo programas (que deve conter um nome de programa) chama o script mata.pl com o parâmetro da linha atual do arquivo programas. Assim este sisteminha deve verificar e finalizar todas as ocorrências ``ilegais'' de todos os programas listados no arquivo programas.
O pacote killer já insere no crontab do root uma linha para que o script killer seja rodado a cada cinco minutos.
Este script é o mais importante do sistema, pois é ele que realiza as ``ações'' do sistema. Este script recebe um argumento, que é o nome do programa que estamos querendo verificar se deve ser finalizado. O script faz o basicamente o seguinte;