#!/usr/bin/env perl use strict; use warnings; use English; use File::Basename; use Cwd; my $NOM_PROG = basename $PROGRAM_NAME; # # # le but de ce script est de tuer (kill -9) le processus Herezh Umat_Hz.info # remarque : l executable Herezh a ete lance par le script LOI_VIA_UMAT_1.pretrait1 via # un lien symoblique dont le nom le rend facilement reperable pour faire un kill du processus # # # #chemin absolu vers l executable Herezh my $hzchemin = shift(@ARGV); #nom du fichier .info my $finfo = shift(@ARGV); #nom du fichier .log my $flog = shift(@ARGV); #lien symbolique qui a ete utilise pour lancer le processus Herezh UMAT dans le script LOI_VIA_UMAT_1.pretrait1 # (voir script LOI_VIA_UMAT_1.pretrait1) my $lien_symbolique_HZ = basename $hzchemin; $_ = basename cwd; $lien_symbolique_HZ = $_.'_'.$lien_symbolique_HZ; #recuperation du processus Herezh UMAT (par reconnaissance de la chaine $lien_symbolique_HZ) my @processus = qx(ps -U $ENV{USER} -o pid,%cpu,command | grep $lien_symbolique_HZ | grep -v grep); #si ce processus tourne encore, on le kill if($#processus != -1) { foreach my $processus (@processus) { next if(not $processus =~ /^\s*(\d+)/); my $pid = $1; kill("KILL", $pid); print "Attention (prog:$NOM_PROG) : le processus Herezh Umat_HZ.info tournait encore (suppression par kill -9)...\n\n"; } } #reussite du script print "resultat posttrait : OK\n";