publish: Variable $$ — récupérer le PID du shell
This commit is contained in:
@@ -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**.
|
|
||||||
@@ -1,10 +1,10 @@
|
|||||||
# Paramètre && - retour du PID
|
# 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.
|
||||||
|
|
||||||
Affiche le numéro de process de l’exé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 $$
|
~ $ 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 )
|
~ $ ( echo $$; echo $BASHPID )
|
||||||
17601
|
17601
|
||||||
17634
|
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**.
|
||||||
@@ -1,18 +1,31 @@
|
|||||||
{
|
{
|
||||||
"uuid": "b9f0369a-2823-4af4-819c-3a1fc0cf2b8c",
|
"uuid": "b9f0369a-2823-4af4-819c-3a1fc0cf2b8c",
|
||||||
"slug": "symbole-double-et-commercial-2",
|
"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",
|
"author": "cedric@abonnel.fr",
|
||||||
"published": true,
|
"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",
|
"created_at": "2023-01-09 22:35:09",
|
||||||
"updated_at": "2023-01-09 22:35:09",
|
"updated_at": "2026-05-16 15:59:20",
|
||||||
"revisions": [],
|
"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",
|
"cover": "cover.png",
|
||||||
"files_meta": [],
|
"files_meta": [],
|
||||||
"external_links": [],
|
"external_links": [],
|
||||||
"seo_title": "",
|
"seo_title": "",
|
||||||
"seo_description": "",
|
"seo_description": "",
|
||||||
"og_image": "",
|
"og_image": "https://www.abonnel.fr/file?uuid=b9f0369a-2823-4af4-819c-3a1fc0cf2b8c&name=cover.png",
|
||||||
"category": "Informatique"
|
"category": "Informatique",
|
||||||
|
"tags": {
|
||||||
|
"tags": [
|
||||||
|
"Bash"
|
||||||
|
]
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,15 @@
|
|||||||
|
# Paramètre && - retour du PID
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
Affiche le numéro de process de l’exé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
|
||||||
|
```
|
||||||
Reference in New Issue
Block a user