script bash

script bash - Linux et OS Alternatifs

Marsh Posté le 29-07-2004 à 13:24:11    

Bonjour j'aimerais savoir si quelqu'un peut m'aider à faire un script en bash permettant de récuperer le pid d'un process et de tuer ce process.

Code :
  1. #!/bin/bash
  2. nomdusrl=$1
  3. if [ $# -eq 0 ]
  4. then
  5. echo "killscreen nomdusrl"
  6. echo "exemple : killscreen srl1"
  7. exit
  8. fi
  9. ps -ef | grep $nomdusrl | cut -f 8 -d ' '> /tmp/kill$1.pid
  10. kill -9 `cat /tmp/kill$1.pid`


 
explication:je lance le script en passant pour paramettre le nom du process que je cherche à tuer. celui-ci récupère la ligne correspondant à mon process (grep) puis coupe le pid apres les 8 espace blancs, le problème etant que lorsque mon nombre de process passe de 100 à 1000 mon script n'est plus valable puisque le nombre d'espace blanc n'est plus le même. Visiblement il faudrait utiliser des expressions régulières afin de palier à se problème mais je ne sais pas comment faire.
Si quelqu'un à la gentillesse de m'aider se serrait vraiment sympa.
Mecri et @+++


Message édité par discovery le 29-07-2004 à 13:25:42
Reply

Marsh Posté le 29-07-2004 à 13:24:11   

Reply

Marsh Posté le 29-07-2004 à 13:30:58    

deja pas obligé de le mettre dans un fichier temporaire
utilise awk au lieu de cut si possible

Reply

Marsh Posté le 29-07-2004 à 13:55:20    

et killall -9 ton_nom_d_appli march très bien aussi ;)


---------------
Fais le ou ne le fais pas, mais il n'y a pas d'essai !!!
Reply

Marsh Posté le 29-07-2004 à 14:18:39    

pkill ca marche pas comme tu veux?

Reply

Marsh Posté le 29-07-2004 à 14:26:51    

killall ;)
 
sinon, en perl pour les regex :p


---------------
Counting all the assh*les in the room, well I'm definitely not alone...
Reply

Marsh Posté le 30-07-2004 à 09:58:48    

J'ai reussi avec awk ... :D
 
Merci à tous ;)

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed