Comment trouver tous les processus enfants?

Dans une base Linux projet sur lequel je travaille, j'ai besoin d'être en mesure de trouver l'ensemble de mes enfant de processus. Il n'est pas possible d'enregistrer toutes les fois qu'on a commencé -- ils doivent être retrouvés après le fait. Ce doit être pure C, et j'aimerais le faire sans la lecture de /proc. Personne ne sait comment faire cela?

  • Par pure C' j'étais en quelque sorte de dire "ne pas l'analyse de la sortie de commande'.
  • Pourquoi n'est-il pas possible? C'est de loin la plus propre et la plus efficace de le faire.
  • Êtes-vous opposé à l'écriture d'un LKM qui va l'emporter sur celui de la fraction inutilisée du système d'appels? Si oui, il serait trivial de faire un petit appel système qui vais le faire pour vous.
  • Un LKM est en fait une assez bonne idée. Je suppose que j'ai laissé de côté -- c'est pour un très faible niveau de programme, qui doit être en mesure d'obtenir cette information lorsqu'elle est l'une des seules choses fonctionnelle sur un système d'amorçage. C'est pourquoi je ne veux pas l'appeler 'ps'. Pas tout à fait sûr de ce que mon aversion pour la lecture /proc était; je vais essayer à la fois un LKM et de la lecture /proc et voir ce qui fonctionne le mieux.
  • Jun: je voulais tous les enfants du processus parent du processus actuel (à travers tous les processus de ps n'), auquel cas il n'est pas possible. Vrai, dans cette question dépend de ce que mon enfant procédés de dire: les enfants de processus en cours, ou les enfants de l'arbitraire d'un processus appartenant à l'utilisateur actif. Ressemble plus à l'ancien dans cette question.
InformationsquelleAutor c4757p | 2009-06-17