je voudrais insérer dans un batch une commande pour killer un process.
j'ai ceci pour me ramener le pid.
ps -ax | grep ssh | grep slave | cut -c2-6
je pensais à kill -9 `ps -ax | grep ssh | grep slave | cut -c2-6`
est-ce suffisamment propre comme façon de faire ? (histoire de ne pas flinguer un autre process malgré les 2 grep successifs) ou existe-t-il un moyen plus académique ?
---------------
A straight line is a special case of a curve. It's a curve which is uncurved. -- Susskind.
Publicité
Posté le 01-02-2002 à 09:17:52
pipomolo
faisez gaffe aux pigeons
Posté le 01-02-2002 à 09:58:30
Ben disons qu'avec ca tu kill tous les process qui contiennent ssh et slave.
Si tu veux etre sur de tuer juste un process, alors il faut que ton grep soit suffisamment discriminant. Tu peux utiliser une xpression reguliere pour etre plus precis peut etre
Sinon tu peux aussi mettre une securite, par exemple
if [ `echo ${pid_list} | wc -l` = "1" ]
then
kill -9 ${pid_list}
fi
Comme ca tu verifie qu'il n'y a qu'un seul process a tuer
J'ai mis une regexp, pour economiser un grep, et j'ai utilise awk qui est plus propre qu'un cut a mon avis (plus "portable" en tout cas )
Ouaip killall j'y avais pas pense...deformation professionnelle du au fait que je bosse sous Solaris...ou killall veut dire :
killall - kill all active processes
[...]
killall terminates all processes with open files so that the mounted file systems will be unbusied and can be unmounted.
++
TBone
Pouet.
Posté le 01-02-2002 à 18:15:29
merci les gars! je vais devoir me mettre un peu à awk (et sed...) paske c'est pas la première fois que je les vois utilisés dans des contextes pratiques...
911GT3> g tjs pas battu mon temps à Melbourne...
---------------
A straight line is a special case of a curve. It's a curve which is uncurved. -- Susskind.
THE REAL 911GT3
Corrompu
Posté le 01-02-2002 à 18:40:32
à vrai dire, j'ai plus jouer à Serious Sam (le 1) et à UT en se moment