Le mercredi 18 octobre 2006 à 22:11 +0200, Vanuxem Grégory a écrit : > Le mercredi 18 octobre 2006 à 07:04 -0700, fabrice regnier a écrit : > > Salut la liste ;) > > > > J'aimerai écrire un script qui me dit si tel process est démarré > > depuis plus de x minutes et le tuer. > > Pour un début j'ai pensé à un: ps -eo pid,comm,etime | grep > > "ma_commande" > > Mais ensuite, je bloque. Comment récupérer les lignes qui ont un > > temps supérieur à 5 minutes ? > > Allez juste pour le fun, un autre en Perl (en espérant qu'il ne > contienne pas de bogues :-) > > ps -eo pid,comm,etime --no-headers |perl -ne '/in/ && s/\s*(\d+).*?((\d > \d)-)?((\d\d):)?(\d\d):\d\d/kill(0,$1) && kill(0,$1) && print "KILLED > PROC: $_" if (($3*1440 + $5*60 + $6) >= x)/e'
ps -eo pid,comm,etime --no-headers |perl -ne '/ma-commande-qui-n_est-pas-entièrement-affiché/ && s/\s*(\d+).*?((\d \d)-)?((\d\d):)?(\d\d):\d\d/kill(0,$1) && kill(0,$1) && print "KILLED PROC: $_" if (($3*1440 + $5*60 + $6) >= x)/e' Comme ça c'est plus clair :-) Remplacer le deuxième kill(0,$1) par kill(numéro-de-signal,$1) et le x final par le nombre de minutes (et ma-commande-qui-n_est-pas-entièrement-affiché bien sur). Greg > > PS: Tant qu'a utiliser du Perl autant faire le script en Perl... -- Lisez la FAQ de la liste avant de poser une question : http://wiki.debian.net/?DebianFrench Vous pouvez aussi ajouter le mot ``spam'' dans vos champs "From" et "Reply-To:" To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

