Ás vezes, por falha dos programas envolvidos, ou por desleixo do usuário, mesmo após este se deslogar seus programas (processos) não são terminados. Alguns casos, como o programa wget, não são considerados problemáticos, mas programas como o netscape que consome memória, processamento, e banda de rede, devem ser considerados. Antes da existência do killer, a administração recebia dos usuários inúmeros pedidos para finalizar esses processos ``zumbis''. Como atender esses pedidos era trabalhoso e inefetivo, criamos o script killer, cujo objetivo é finalizar periodicamente todos os processos de usuários que estejam rodando ``indevidamente''.
O pacote killer contém baiscamente três arquivos. O funcionamento e propósito de cada um deles 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. Por exemplo, o conteúdo do arquivo poderia ser algo do tipo:
netscape GoodStuff emacs gimp
Mas, por exemplo, não colocaríamos um wget nesta lista, ao menos que a administraçã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;