Précédent   Forum des professionnels en informatique > Systèmes > Linux > Applications
Applications Questions sur l'utilisation d'applications, du shell, et des interfaces graphiques (KDE, Gnome, XFCE... )
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 09/11/2007, 14h04   #1
Membre chevronné
 
Inscription : décembre 2004
Messages : 1 213
Détails du profil
Informations forums :
Inscription : décembre 2004
Messages : 1 213
Points : 766
Points : 766
Par défaut pb avec awk et ssh

Bonjour, je désire tuer tous les processus qui s'appellent "out" sur tous les noeuds du cluster que j'utilise. Donc à partir du noeud maitre (le n0) je dois faire un ssh sur tous les noeuds et faire un kill des PID correspondant à mon "out". Voici un début de code (pour un noeud) :

Code :
1
2
3
4
5
 
#!/bin/sh
 
res=`ssh n1 ps -e | awk 'NF == "out" {print $1}'`
echo $res
et là rien ne s'affiche. Si ce machin marche, je pourrais faire ensuite une boucle. Lorsque je fais ps -e, j'ai comme sortie :

Citation:
5818 ? 00:00:00 sshd
6168 ? 00:00:00 out
6176 ? 00:00:00 out
6177 ? 00:00:00 sshd
6182 ? 00:00:00 sshd
6537 ? 00:00:00 out
6545 ? 00:00:00 out
12620 ? 00:00:00 out
13069 ? 00:00:00 out
14476 ? 00:00:00 out
14941 ? 00:00:00 out
17441 ? 00:00:00 out
18109 ? 00:00:00 out
18244 ? 00:00:00 out
6143 ? 00:00:00 sshd
6148 ? 00:00:00 sshd
6155 ? 01:07:05 out
6163 ? 00:00:00 out
6164 ? 00:00:00 sshd
6170 ? 00:00:00 sshd
pouvez-vous m'aider s'il vous plait ?
Merci.
salseropom est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/11/2007, 14h40   #2
Membre chevronné
 
Inscription : décembre 2004
Messages : 1 213
Détails du profil
Informations forums :
Inscription : décembre 2004
Messages : 1 213
Points : 766
Points : 766
Re,
je viens de voir que la fonction killall out réglait mes problèmes. Mais comment faire pour la lancer sur tous les noeuds du cluster simultanément ?
salseropom est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/11/2007, 14h52   #3
Modérateur
 
Avatar de ggnore
 
Inscription : juillet 2004
Messages : 2 246
Détails du profil
Informations personnelles :
Âge : 33

Informations forums :
Inscription : juillet 2004
Messages : 2 246
Points : 1 904
Points : 1 904
sinon tu peux aussi faire
Pour ce qui est de parcourir les noeuds, aucune idée
__________________
Toutes les vertus des hommes se perdent dans l’intérêt comme les fleuves se perdent dans la mer.
ggnore est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/11/2007, 20h58   #4
Membre chevronné
 
Inscription : décembre 2004
Messages : 1 213
Détails du profil
Informations forums :
Inscription : décembre 2004
Messages : 1 213
Points : 766
Points : 766
Citation:
Envoyé par ggnore Voir le message
sinon tu peux aussi faire
Pour ce qui est de parcourir les noeuds, aucune idée
très bien cette commande pidof : je ne la connaissais pas et elle remplace bien mon awk...
je me renseigne pour parcourir tous les noeuds.
Merci
salseropom est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/11/2007, 17h29   #5
Membre chevronné
 
Inscription : décembre 2004
Messages : 1 213
Détails du profil
Informations forums :
Inscription : décembre 2004
Messages : 1 213
Points : 766
Points : 766
OK, j'ai trouvé. Voici mon script (pas optimisé, mais bon, il marche...)

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
 
#!/bin/sh
 
PROCNAME=out2 # nom du processus a tuer
 
MACHINES='n1 n2 n3 n4 n5 n6 n7 n8 n9 n10 n11 n12 n13'
 
 
for i in ${MACHINES}
do
  echo "node $i :"
  res=`ssh $i ps -Al | grep $PROCNAME | awk '{print $4}'`
  echo $res
  `ssh $i kill -9 $res`
done
salseropom est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 00h45.


 
 
 
 
Partenaires

Hébergement Web