você está aqui: Home  → Arquivo de Mensagens Você sabia que o bitcoin valorizou 102% só em 2020?

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]");
    }
}


Veja a relação completa dos artigos de Jorge Kinoshita