Précédent   Forum des professionnels en informatique > Systèmes > Autres systèmes > Unix
Unix Forum d'entraide sur les systèmes Unix et dérivés (*BSD, AIX, etc.). Avant de poster ->F.A.Q BSD F.A.Q. Aix
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 28/10/2009, 17h12   #1
Candidat au titre de Membre du Club
 
Inscription : avril 2003
Messages : 27
Détails du profil
Informations forums :
Inscription : avril 2003
Messages : 27
Points : 11
Points : 11
Par défaut [KSH] Script pour stopper un process

Bonjour,

Est-ce possible de stopper un process en utilisant un script sachant que je ne connais que le nom du process et non son ID ?

J'ai bien essayé :

Code :
1
2
3
#!/bin/ksh
PID=`ps -ef | grep -w "${NOM_PROCESS}" | awk '{print $2}'`
kill -9 $PID
Mais je reçois une erreur : "PID: Specify a process identifier or a %job number."

Comment faire la correspondance entre le nom et l'ID ?

Merci pour votre aide
shanod est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/10/2009, 12h30   #2
Modérateur
 
Avatar de gangsoleil
 
R&D en systemes informatiques bas niveau Unix/Linux
Inscription : mai 2004
Messages : 5 129
Détails du profil
Informations personnelles :
Âge : 31
Localisation : France, Isère (Rhône Alpes)

Informations professionnelles :
Activité : R&D en systemes informatiques bas niveau Unix/Linux

Informations forums :
Inscription : mai 2004
Messages : 5 129
Points : 8 749
Points : 8 749
Bonjour,

Ce que tu as ecris peut fonctionner, mais pas a tous les coups. Que se passe-t-il si plusieurs processus ont le meme nom, ou si tu recuperes l'id du processus grep, ...

Regardes du cote de l'option -o de ps, qui te permet de gerer l'affichage.
Penses aussi a grep -v grep, a moins que tu ne puisses chercher un processus qui se nomme grep.

Ensuite, es-tu obligé d'envoyer un kill -9 ? Un simple kill ne suffirait-il pas ?
__________________
Modérateur "C", "Informatique Générale & Hardware" et "Unix"
Les règles du forum
gangsoleil est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/10/2009, 16h03   #3
Membre Expert
 
Avatar de jlliagre
 
Inscription : juin 2007
Messages : 910
Détails du profil
Informations personnelles :
Localisation : France, Paris (Île de France)

Informations forums :
Inscription : juin 2007
Messages : 910
Points : 1 261
Points : 1 261
Je suis d'accord avec le commentaire sur "kill -9" qui ne devrait être utilisé qu'en dernier recours.

Sinon, pour tuer un processus dont on connait le nom, plutôt que d'utiliser des scripts plus ou moins tortueux basés sur ps, grep, awk et kill, il suffit d'utiliser la command pkill qui fait tout ça très bien (et même mieux):

Il y a plein d'options, voir la page de manuel de la commande.
__________________
ɹǝsn *sıɹɐlos*
jlliagre est actuellement connecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/10/2009, 17h16   #4
Candidat au titre de Membre du Club
 
Inscription : avril 2003
Messages : 27
Détails du profil
Informations forums :
Inscription : avril 2003
Messages : 27
Points : 11
Points : 11
Je crois que j'ai un peu trop gonflé mon code en fait...

Un simple :

Code :
1
2
3
#!/bin/ksh
PID=`ps -ef | grep "NOM_PROCESS" | awk '{print $2}'`
kill -9 $PID
fonctionne.

Pourquoi le kill -9 ? Il s'agit d'arrêter un script de sauvegarde qui ne réagit pas au kill.

Merci de vous être penché sur le problème
shanod est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/10/2009, 18h32   #5
Membre Expert
 
Avatar de jlliagre
 
Inscription : juin 2007
Messages : 910
Détails du profil
Informations personnelles :
Localisation : France, Paris (Île de France)

Informations forums :
Inscription : juin 2007
Messages : 910
Points : 1 261
Points : 1 261
Tu es sous quel Unix qui n'a pas pkill ?

Sinon, plus simple:
Code :
1
2
#!/bin/ksh
kill -9 $(ps -ef | grep NOM_PROCESS | awk '{print $2}')
__________________
ɹǝsn *sıɹɐlos*
jlliagre est actuellement connecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/10/2009, 08h56   #6
Membre Expert
 
Homme Alexis
Intégrateur d'Exploitation
Inscription : février 2003
Messages : 856
Détails du profil
Informations personnelles :
Nom : Homme Alexis
Âge : 32
Localisation : France

Informations professionnelles :
Activité : Intégrateur d'Exploitation
Secteur : Biens de consommation

Informations forums :
Inscription : février 2003
Messages : 856
Points : 1 616
Points : 1 616
Envoyer un message via ICQ à Alek-C Envoyer un message via Skype™ à Alek-C
AIX, HP-UX...
Alek-C est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/10/2009, 10h44   #7
Membre Expert
 
Avatar de jlliagre
 
Inscription : juin 2007
Messages : 910
Détails du profil
Informations personnelles :
Localisation : France, Paris (Île de France)

Informations forums :
Inscription : juin 2007
Messages : 910
Points : 1 261
Points : 1 261
En effet, AIX n'a toujours pas cette commande mais HP-UX l'a implémenté: http://docs.hp.com/en/B2355-60130/pgrep.1.html
__________________
ɹǝsn *sıɹɐlos*
jlliagre est actuellement connecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/11/2009, 10h31   #8
Membre Expert
 
Homme Alexis
Intégrateur d'Exploitation
Inscription : février 2003
Messages : 856
Détails du profil
Informations personnelles :
Nom : Homme Alexis
Âge : 32
Localisation : France

Informations professionnelles :
Activité : Intégrateur d'Exploitation
Secteur : Biens de consommation

Informations forums :
Inscription : février 2003
Messages : 856
Points : 1 616
Points : 1 616
Envoyer un message via ICQ à Alek-C Envoyer un message via Skype™ à Alek-C
Ouais, enfin, le jour où les boites seront sur des OS de moins de 2 ans, ça sera jour de fête... je bosse sur des HP-UX 11.11 (11i v1) perso (et un paquet en plus)

Edit: bref, tout ça pour dire que je n'ai pas de pkill sur tous mes serveurs AIX et HP-UX à priori
Alek-C 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 +1. Il est actuellement 18h20.


 
 
 
 
Partenaires

Hébergement Web