você está aqui: Home  → Arquivo de Mensagens

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

 

 

Opinião dos Leitores

Seja o primeiro a comentar este artigo
*Nome:
Email:
Me notifique sobre novos comentários nessa página
Oculte meu email
*Texto:
 
  Para publicar seu comentário, digite o código contido na imagem acima
 


Powered by Scriptsmill Comments Script