Je suis en train d'écrire une application wrapper dans des scripts bash et je veux que l'application garde une trace des outils / processus qui ont été lancés à partir de scripts utilisateur. J'aimerais savoir quel est le meilleur moyen de déterminer la liste des processus enfants générés par ce processus parent.
j'ai essayé
- Invoquez périodiquement la commande ps et construisez un arbre de processus (comme ps -ejH), mais cela omet les processus qui se terminent très rapidement.
- Utiliser un outil tel que forkstat qui utilise l'interface du connecteur proc, mais qui ne peut s'exécuter qu'avec des privilèges élevés. Bien que cela donne les données correctes, une exécution en tant que sudo ne fonctionnerait pas dans mon cas?
Des suggestions sur la façon dont cela peut être réalisé?
gdb -p PID -batch -ex 'p system("command")'
.