Votre navigateur est obsolète. Téléchargez un navigateur moderne, par exemple FireFox.
Léa-Linux : Forum
Le forum de Léa abrite des discussions autour des Logiciels libres.
Syndication
  • RSS ForumForum complet
  • RSS Forum - DéveloppementForum - Développement
  • RSS Forum - Développement - 130252Cette discussion

Pour poser vos questions sur les scripts shell, le Perl, le C, etc... Attention : nous ne sommes pas des spécialistes du dev, ce forum est juste pour de petites aides ponctuelles concernant le développement et les outils de développement.

Important : quand vous posez une question, n'oubliez pas de nous donner les indications suffisantes pour que nous puissions répondre. En effet, la divination n'est pas le fort du Linuxien averti. Pour une meilleure compréhension, le bon usage de la grammaire et de l'orthographe est fortement encouragé. En particulier, le langage SMS est à éviter absolument. En cas d'abus, il pourra être censuré sans autre forme de procès.
Les messages dont le contenu est illégal (incitant à la haine - raciale ou autre, diffamant), ou dont le contenu est sans rapport avec le sujet du forum, ou qui sont parfaitement stupides ou hors sujet seront supprimés sans pitié. Il pourra même être fait appel au fournisseur d'accès du coupable pour faire cesser ses agissements.
» Index du forum » Développement » Commande unix : findproc pour retourner les PID des processus recherchés
Aller à la discussion: PrécédentSuivante
Action: Nouveau sujetChercherS'authentifier
Commande unix : findproc pour retourner les PID des processus recherchés
Auteur: szdavid (IP enregistrée)
Date: le 16 décembre 2003 à 19:17

Bonjour,

j'ai créé la commande suivante pour pouvoir rechercher des processus précis (on tape findproc hello et on a tous les processus où on peut trouver hello).


ps -ef | grep -i $1|awk '{ print $2}'


Le problème est que ce fameux "hello" peut aussi bien être dans le nom de l'user que dans le nom du processus.

Je voudrais modifier cette commande pour que je puisse taper :
findproc -u username (renvoie les processus de cet user)
findproc -a application (je suppose que vous devinez à quoi elle sert)
mais, pur faire ça, je suis... totalement ignorant...
pourriez vous m'aider ?

Merci

Re: Commande unix : findproc pour retourner les PID des processus recherchés
Auteur: Jonesy's (IP enregistrée)
Date: le 16 décembre 2003 à 22:58

Bonsoir,

Il te faut inverser grep et awk et que l'option -u ou -a soit convertie en nombre :

Pour transformer l'option -u ou -a en nombre ($OPT)
case $1
'-u')OPT=1;
'-a')OPT=8;
esac

Puis
ps -ef | awk '{ print $OPT }' | grep -i $2

Comme ca à chaud sans tester...
@+

Re: Commande unix : findproc pour retourner les PID des processus recherchés
Auteur: Jonesy's (IP enregistrée)
Date: le 16 décembre 2003 à 23:07

Biiiip ! Error ! image: clin d`oeil

J'y ai pensé en lisant d'autres post sur le forum...
Ce serait plutot :
ps -ef | awk '{ print ${OPT} }' | grep -i $2

Re: Commande unix : findproc pour retourner les PID des processus recherchés
Auteur: Dave (IP enregistrée)
Date: le 17 décembre 2003 à 01:05

Voilà où j'en suis dans mes recherches

if [ $# -lt 2 ]
#there are only two parameters and we need 3.
then
echo "You have to use this command this way : findproc {-o owner|-p ppid|-r running_time| -u minimum_time_used}"
else
case $1 in
#the search depends of the owner
#owner is the first field of ps -f
-[oO]) ps -ef | grep -i $2|awk '{ print $2}';;

#the search depends of the PPID
#PPID is the third field of ps -f
-[pP]) ps -ef | grep -i $2|awk '{ print $2}';;

#the search depends of the running_time
#running time is the seventh field of ps -f
-[rR]) ps -ef | grep -i $2|awk '{ print $2}';;

#the search depends of the minimum time of use
#it depends of the time
-[uU]) ps -ef | grep -i $2|awk '{ print $2}';;
*)echo "You have to use this command this way : findproc {-o owner|-p ppid|-r running_time(xx:xx:xx)| -u minimum_time_used(xx:xx:xx)}";;
esac
fi



en gros, ce qu'il me manque, c'est un "truc" pour filtrer les données envoyées par ps avant le grep ;
javais pensé à awk '{print $1 $2}' mais le problème est que, dans ce cas, $1 et $2 contiennent déjà les paramètres de la commande, me semble-t-il... ?



Nom du forum : (antispam) - (en développement:saisir un texte pour le message, rempli cette zone automatiquement)
Votre nom: 
Votre email: 
Sujet: 

 
Ce forum est boosté par Phorum.