Unix bash : récupérer le pid d’un script lancé par un script

04 Août 2011 3 , ,

Sous UNIX, voici une petite astuce permettant de récupérer l’identifiant du processus (PID) ouvert par un script bash.

  • $$ récupère le pid de script courant
  • $! récupère le pid du dernier script lancé

Ainsi, il est possible de contrôler l’exécution d’une sous tâche grâce au PID du processus. Pour vous en convaincre, un petit exemple de script BASH :
[bash] #!/bin/bash

echo "PID du processus courant : $$"
echo "PID du processus lancé : $!"

# On lance une commande en background avec => &
# Ca peut être une commande, un autre script bash, un programme, etc…
ping localhost &

echo "PID du processus courant : $$"
echo "PID du processus lancé (ping localhost) : $!"

sleep 3
kill $!
exit 0
[/bash]