Commande kill process en shell
FredoJFO
Messages postés
6
Date d'inscription
Statut
Membre
Dernière intervention
-
lami20j Messages postés 21331 Date d'inscription Statut Modérateur, Contributeur sécurité Dernière intervention -
lami20j Messages postés 21331 Date d'inscription Statut Modérateur, Contributeur sécurité Dernière intervention -
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.
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.
A voir également:
- Commande kill process en shell
- Invite de commande - Guide
- Classic shell - Télécharger - Personnalisation
- Process hacker - Télécharger - Divers Utilitaires
- Process explorer - Télécharger - Informations & Diagnostic
- Commande terminal mac - Guide
2 réponses
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)
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
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.
J'ai quelques pistes, je mettrai ce sujet à jour si ça marche.
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
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