926 B
926 B
Variable $$ — récupérer le PID du shell
La variable spéciale $$ renvoie le PID (Process IDentifier) du shell courant. Elle est utile pour générer des noms de fichiers temporaires uniques, tracer un script dans les logs ou créer un fichier de verrou.
Particularité dans les sous-shells
$$ conserve toujours la valeur du shell parent, même lorsqu'elle est évaluée dans un sous-shell ( … ). Pour obtenir le PID réel du processus en cours d'exécution, Bash propose la variable $BASHPID.
~ $ echo $$
17601
~ $ ( echo $$; echo $BASHPID )
17601
17634
Dans l'exemple ci-dessus :
$$affiche17601dans les deux cas : c'est le PID du shell interactif d'origine.$BASHPIDaffiche17634: c'est le PID du sous-shell créé par les parenthèses.
Retenir la différence : $$ = PID du shell de référence, $BASHPID = PID du processus Bash réellement en cours.