Script Bash : Récupérer le PID du shell/script courant

Comment récupérer le PID du script/shell courant ?

En Bash la variable ${$} contient le PID (process ID, l’identifiant numérique du processus sur le système) du processus qui l’appelle.

Dans le shell :

fhh@cixi ~ $ echo ${$} # Quel est le pid du shell courant ?
803
fhh@cixi ~ $ ps | grep 803 # Cela correspond à bash ? 
  803 pts/1    00:00:00 bash
fhh@cixi ~ $ # oui !

Dans le cas d’un script :

fhh@cixi ~ $ cat testpid.sh # Voici le script :
#!/bin/bash
echo ${$}
sleep 15 ;
fhh@cixi ~ $ ./testpid.sh & # Exécution du script :
[2] 1467
1467
fhh@cixi ~ $ ps | grep 1467 # Est-ce bien le pid du script ?
 1467 pts/1    00:00:00 testpid.sh
fhh@cixi ~ $ # oui !

A quoi ça sert ?

Le PID peut être conservé dans un fichier de lock par exemple afin d’éviter de multiples exécutions simultanées d’un script, etc. Voir Bash : Tester si un processus/script est toujours actif/en cours.

2 réflexions au sujet de « Script Bash : Récupérer le PID du shell/script courant »

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *