publish: Variable $$ — récupérer le PID du shell

This commit is contained in:
Cédrix
2026-05-16 17:59:20 +02:00
parent 79ae16a052
commit d2c984d99d
5 changed files with 46 additions and 49 deletions
@@ -1,16 +0,0 @@
{
"title": "Variable `$$` — récupérer le PID du shell",
"slug": "symbole-double-et-commercial-2",
"_updated_at": "2026-05-16 15:59:19",
"published": true,
"published_at": "2023-01-09 22:35",
"category": "Informatique",
"tags": {
"tags": [
"Bash"
]
},
"seo_title": "",
"seo_description": "",
"og_image": "https://www.abonnel.fr/file?uuid=b9f0369a-2823-4af4-819c-3a1fc0cf2b8c&name=cover.png"
}
@@ -1,22 +0,0 @@
# 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 :
- `$$` affiche `17601` dans les deux cas : c'est le PID du shell interactif d'origine.
- `$BASHPID` affiche `17634` : 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**.
+12 -5
View File
@@ -1,10 +1,10 @@
# Paramètre && - retour du PID
# Variable `$$` — récupérer le PID du shell
![](logo_bash.png)
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.
Affiche le numéro de process de lexécution de la ligne de commande en cours. Synonyme de PID, Process IDentification en cours.
## Particularité dans les sous-shells
Dans un programme BASH, on peut récupérer le numéro du process de l'enfant avec la variable $BASHPID
`$$` 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 $$
@@ -12,4 +12,11 @@ Dans un programme BASH, on peut récupérer le numéro du process de l'enfant av
~ $ ( echo $$; echo $BASHPID )
17601
17634
```
```
Dans l'exemple ci-dessus :
- `$$` affiche `17601` dans les deux cas : c'est le PID du shell interactif d'origine.
- `$BASHPID` affiche `17634` : 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**.
+19 -6
View File
@@ -1,18 +1,31 @@
{
"uuid": "b9f0369a-2823-4af4-819c-3a1fc0cf2b8c",
"slug": "symbole-double-et-commercial-2",
"title": "Paramètre && - retour du PID",
"title": "Variable `$$` — récupérer le PID du shell",
"author": "cedric@abonnel.fr",
"published": true,
"published_at": "2023-01-09 22:35:09",
"featured": false,
"published_at": "2023-01-09 22:35",
"created_at": "2023-01-09 22:35:09",
"updated_at": "2023-01-09 22:35:09",
"revisions": [],
"updated_at": "2026-05-16 15:59:20",
"revisions": [
{
"n": 1,
"date": "2026-05-16 15:59:20",
"comment": "Titre modifié, tags modifiés, contenu modifié, image de couverture modifiée",
"title": "Paramètre && - retour du PID"
}
],
"cover": "cover.png",
"files_meta": [],
"external_links": [],
"seo_title": "",
"seo_description": "",
"og_image": "",
"category": "Informatique"
"og_image": "https://www.abonnel.fr/file?uuid=b9f0369a-2823-4af4-819c-3a1fc0cf2b8c&name=cover.png",
"category": "Informatique",
"tags": {
"tags": [
"Bash"
]
}
}
@@ -0,0 +1,15 @@
# Paramètre && - retour du PID
![](logo_bash.png)
Affiche le numéro de process de lexécution de la ligne de commande en cours. Synonyme de PID, Process IDentification en cours.
Dans un programme BASH, on peut récupérer le numéro du process de l'enfant avec la variable $BASHPID
```
~ $ echo $$
17601
~ $ ( echo $$; echo $BASHPID )
17601
17634
```