je dois afficher le pid du script shell qui est en train d'etre execute. En C, il y a la fonction getpid(), mais en script shell, je ne vois pas comment on peut proceder. Il y a la commande 'ps' mais elle affiche tous les pids, alors qu'il me faut celui du processus courant.
Merci
Publicité
Posté le 12-02-2002 à 15:06:16
jupiler
Un cousin...
Posté le 12-02-2002 à 15:08:01
tu fais un 'ps -edf | grep nom_du_script'
---------------
Je ne suis ni pour, ni contre, bien au contraire
fdl
Posté le 12-02-2002 à 15:15:08
d'accord, ca affiche plusieurs lignes(y compris la commande grep), mais maintenant il faut recuperer le pid, et lui seulement, car là, il affiche toute la ligne. En shell, c'est pas du gateau.
jupiler
Un cousin...
Posté le 12-02-2002 à 15:19:08
ca y est je me rappelle, c'est la variable $$
---------------
Je ne suis ni pour, ni contre, bien au contraire
goyo
Posté le 12-02-2002 à 15:20:30
Tu peux faire ps -ef | grep nom_du_script | awk '{print $2}'
fdl
Posté le 12-02-2002 à 15:28:44
ce n'est plus très loin de la solution!
en fait, il affiche le pid du script mais aussi le pid du grep (car le nom du script est egalement contenu dans le grep nom_du_script).
Il me faut seulement celui du nom_du_script!
jupiler
Un cousin...
Posté le 12-02-2002 à 15:40:57
ben ce que j'ai dit, ca marche pas?
echo $$ -> affiche le numero pid
---------------
Je ne suis ni pour, ni contre, bien au contraire
fdl
Posté le 12-02-2002 à 15:56:29
putain, merci, tu as raison, $$ ca fait comme le getpid()
c'est quand meme plus simple que le ps ...
Merci encore
gfive
Posté le 12-02-2002 à 16:07:47
man bash rulez, mais putain, que c'est chiant à lire!!