Le processus de l'obus est $$
puisqu'il s'agit d'un paramètre spécial
Sous Linux, le proc(5) Le système de fichiers donne beaucoup d'informations sur les processus. Peut-être que pgrep(1) (qui accède à /proc
) pourrait aussi aider.
Essayez donc cat /proc/$$/status
pour obtenir le statut du processus shell.
Par conséquent, l'identifiant du processus parent peut être récupéré avec, par exemple, la commande suivante
parpid=$(awk '/PPid:/{print $2}' /proc/$$/status)
Ensuite, utilisez $parpid
dans votre script pour faire référence au pid du processus parent (le parent du shell).
Mais je ne pense pas que vous en ayez besoin !
Lire un peu Guide Bash (ou avec prudence guide avancé des scripts bash qui a des erreurs) et programmation linux avancée .
Remarquez que certains processus de démons de serveurs (qui doivent généralement être uniques) écrivent explicitement leur pid dans le fichier /var/run
par exemple, le sshd
Le démon du serveur écrit son pid dans le fichier textuel /var/run/sshd.pid
). Vous voudrez peut-être ajouter une telle fonctionnalité à vos propres programmes de type serveur (codés en C, C++, Ocaml, Go, Rust ou autre). compilé langue).