Téléchargement
illégal
Posez votre question Signaler

Commande kill process en shell

FredoJFO 6Messages postés 8 août 2006Date d'inscription 6 février 2011Dernière intervention - Dernière réponse le 6 févr. 2011 à 20:16
Bonjour,
Je dois dans le cadre de mon stage réaliser un script pour tuer des processus de capture d'ip sur notre serveur de sécurité.
J'ai réussi plus ou moins bien à isoler le PID d'un processus pour le tuer par la suite avec la commande "kill", mais ça ne marche pas super bien :)
Donc je chercher à utiliser la commande "killall" avec le paramètre -e, dans le but de tuer le processus par rapport à son nom.
Il se trouve que ça marche avec les processus qui ont des noms assez simples et sans caractères exotiques, mais dans mon cas non.
Voici par exemple le nom d'un processus à stopper :
/usr/sbin/tcpdump -s 0 -w /var/capture/test_04-02-2011_15h32m22/test.pcap -C 5 -W fichier=200 -i br0 (vlan and host 192.168.1.1) -Z root
Oui je sais ça fait long, mais c'est la commande qui le veut :P
Et encore dans mon cas je n'ai que deux parenthèses, mais imaginez avec d'autres.
Avez vous des idées, suggestions, autres ? Je suis preneur.
En tout cas merci pour votre attention, et bonne journée.
Lire la suite 

Commande kill process en shell »

Suggestions
3 réponses
Réponse
+0
moins plus
Salut,

Dans ton cas il faut tuer tcpdump tout simplement.

Ce que tu vois c'est la commande entière avec le chemin complet(j'ai mis en gras le chemin et en souligné le nom de la commande) et les options utilisées (j'ai mis en italique)

/usr/sbin/tcpdump -s 0 -w /var/capture/test_04-02-2011_15h32m22/test.pcap -C 5 -W fichier=200 -i br0 (vlan and host 192.168.1.1) -Z root 



Ajouter un commentaire
Réponse
+0
moins plus
Ben justement je vais avoir plusieurs chaines de ce type, donc je ne peux pas me baser sur "tcpdump" tout seul.
J'ai quelques pistes, je mettrai ce sujet à jour si ça marche.
lami20j- 6 févr. 2011 à 20:16
Re,

Ben, il faudra donner des exemples.
Comment tu obtiens cette chaîne, etc.

Voici un exemple

Le 1ère commande affiche le nom de la commande à l'instar de ta ligne avec tcpdump.
La 2ème affiche le nom de la commande ainsi que le PID.
Ensuite la 3ème affiche seulement le nom de la commande, qu'on pourrait utiliser comme argument pour killall

$ ps aux | grep -E 'ice|ssh'
root      1886  0.0  0.0   5492   448 ?        Ss   Feb04   0:00 /usr/sbin/sshd
lami20j   2711  0.0  0.0   3232   132 ?        Ss   Feb04   0:00 /usr/bin/ssh-agent /usr/bin/dbus-launch --exit-with-session x-session-manager
lami20j  25588 38.8 12.0 550064 249416 pts/2   RLl  17:37  60:49 /usr/lib/iceweasel/firefox-bin
lami20j  26429  0.0  0.0   6120   588 pts/2    S    19:17   0:00 /bin/sh /usr/bin/icedove
lami20j  26445  0.0  0.0   6164   632 pts/2    S    19:17   0:00 /bin/sh /usr/lib/icedove/run-mozilla.sh /usr/lib/icedove/icedove-bin
lami20j  26449  1.4  3.1 321392 65004 pts/2    Sl   19:17   0:48 /usr/lib/icedove/icedove-bin
lami20j  26909  0.0  0.0   5272   828 pts/4    S+   20:14   0:00 grep -E ice|ssh
$ ps -e | grep -E 'ice|ssh'
 1886 ?        00:00:00 sshd
 2711 ?        00:00:00 ssh-agent
26429 pts/2    00:00:00 icedove
26449 pts/2    00:00:48 icedove-bin
$ ps -eo comm | grep -E 'ice|ssh'
sshd
ssh-agent
icedove
icedove-bin
Ajouter un commentaire
Ce document intitulé « Commande kill process en shell » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Dossier à la une
Passage au tout numérique : quel coût pour les particuliers ?