De acordo com as Leis 12.965/2014 e 13.709/2018, que regulam o uso da Internet e o tratamento de dados pessoais no Brasil, ao me inscrever na newsletter do portal DICAS-L, autorizo o envio de notificações por e-mail ou outros meios e declaro estar ciente e concordar com seus Termos de Uso e Política de Privacidade.

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

Adicionar comentário

* Campos obrigatórios
5000
Powered by Commentics

Comentários

Nenhum comentário ainda. Seja o primeiro!


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