Script para matar um processo pelo seu nome
Colaboração: Jorge Kinoshita
Data de Publicação: 08 de Setembro de 1998
Em muitas situações quero matar um ou mais processos que correspondam a um certo programa. Por exemplo: é comum apos editar um arquivo para o latex querer visualiza-lo atraves do xdvi. Neste caso é necessario matar o xdvi anterior. Se a atividade de matar um processo for automatizada (sem precisar de conjugar ps|grep e kill atraves de comandos interativos) entao ela pode estar inserida em outros scripts (por exemplo: aplica o latex sobre o arquivo, mata o xdvi antigo e roda novamente o xdvi).
O seguinte script estah em Perl:
=========================================================== #!/usr/bin/perl #-------------------------------------------------- # script para matar um processo pelo seu nome. # colaboracao: Jorge Kinoshita. # uso: mata <nome_do_programa>. # exemplo: # mata xdvi # dah um kill em todos os processos cujo nome comecam com <nome_do_programa>. # se o nome estiver no meio como ("grep xdvi" ) entao o kill nao se aplica neste caso. # testado no Linux: l[0] - numero do processo; l[4] - nome do processo #-------------------------------------------------- $pn = shift @ARGV; foreach $l ( split(/\n/,qx/ps/) ) { $l =~ s/^\s+//;= @l = split(/\s+/,$l); if ($l[4] =~ /^$pn/) {= system("kill $l[0]"); } }