abonnel-siteweb/data/pages/informatique/linux/commandes/double_dollar.txt

50 lines
2.7 KiB
Plaintext
Raw Permalink Normal View History

2024-01-07 10:02:35 +01:00
====== $$ ======
{{tag>"script linux"}}
{{ :dummy.png?75x75|Nom de la section}}
En Bash, ''$$'' est une variable qui contient le PID (Process ID) du processus en cours d'exécution. Cette variable peut être utilisée pour identifier de manière unique un processus ou pour contrôler les processus enfants créés à partir du script.
Par exemple, vous pouvez utiliser ''$$'' pour créer un fichier journal unique pour chaque instance de votre script Bash en utilisant le PID comme partie du nom du fichier.
Notez cependant que le PID est une valeur dynamique qui change chaque fois que le processus est exécuté, donc ''$$'' ne doit être utilisé que dans le contexte du processus en cours d'exécution.
Pour utiliser "$$" correctement dans le contexte du processus en cours d'exécution, vous pouvez le stocker dans une variable dès le début de votre script Bash. De cette façon, la variable contiendra le PID du processus en cours d'exécution tout au long du script, même si le PID change pendant l'exécution du script.
Voici un exemple de code Bash montrant comment stocker "$$" dans une variable :
<code BASH>
#!/bin/bash
# stocker le PID dans une variable
current_pid=$$
# afficher le PID
echo "Le PID du processus en cours d'exécution est : $current_pid"
# faire quelque chose d'autre dans le script...
</code>
Ensuite, vous pouvez utiliser la variable ''current_pid'' tout au long de votre script pour référencer le PID du processus en cours d'exécution.
Notez que si votre script crée des processus enfants, le PID de ces processus enfants sera différent du PID du processus parent. Dans ce cas, vous pouvez utiliser ''$$'' pour référencer le PID du processus parent, et utiliser un autre mécanisme pour référencer le PID des processus enfants, comme par exemple en stockant le PID de chaque processus enfant dans un tableau ou un fichier.
Pour connaître le PID du processus parent dans un script Bash, vous pouvez utiliser la variable spéciale ''$PPID''. Cette variable contient le PID du processus parent qui a créé le processus en cours d'exécution.
Voici un exemple de code Bash qui utilise ''$PPID'' pour afficher le PID du processus parent :
<code BASH>
#!/bin/bash
# stocker le PID du processus parent dans une variable
parent_pid=$PPID
# afficher le PID du processus parent
echo "Le PID du processus parent est : $parent_pid"
# faire quelque chose d'autre dans le script...
</code>
Notez que ''$PPID'' ne fonctionne que si le processus en cours d'exécution a été créé par un processus parent dans le même système d'exploitation. Si le processus en cours d'exécution a été créé par un autre système d'exploitation ou un autre type de processus, ''$PPID'' ne sera pas défini ou aura une valeur incorrecte.