Bonjour,
Dans un script shell sous unix, je souhaite récupérer le PID du script en cours d'exécution.
Quelqu'un a t'il une idée ?
Bonjour,
Dans un script shell sous unix, je souhaite récupérer le PID du script en cours d'exécution.
Quelqu'un a t'il une idée ?
Dans la mesure ou plusieurs processus sont toujours exécutés en même temps sous Linux (la commande pstree vous en convaincra), le seul moyen de récupérer le pid d'un script est. Sinon, au sein même d'un script, ou au prompt de la ligne de commande, vous pouvez récupérer le pid du dernier processus que vous venez de lancer, en faisant :
Code : Sélectionner tout - Visualiser dans une fenêtre à part pidof lenomduscript
De la même manière, en faisant
Code : Sélectionner tout - Visualiser dans une fenêtre à part echo $$, vous avez le code de sortie délivré par la dernière commande terminée que vous avez lancée (le code de sortie sans erreur est 0 pour tous les programmes, il peut y avoir beaucoup d'autres codes de sortie en fonction du programme que vous utilisez.
Code : Sélectionner tout - Visualiser dans une fenêtre à part echo $?
Envoyé par kromartien
La variable $$ est le PID du script COURANT pas du dernier lancé !
ok, merci beaucoup, ça mache très bien !
le script courant est celui en cours (un sh) ......
une console, par exemple, est une "session shell" donc sont pid est $$
essaye un echo $$ ....
si je fait un petit script :
cela affichera le pid du script lors de son exécution.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 #!/bin/sh echo $$
le PID du dernier script lancer EN ARRIERE PLAN est $! :
voila.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 #!/bin/sh sleep 20 & echo "pid de sleep "$! echo "pid de $0 "$$ >pid de sleep 2803 >pid de tt 2800
Partager