Comment pouvons-nous trouver l’ID de travail d’un processus en C?

  1. Le shell alloue-t-il un ID de travail à tous les processus (avant-plan et arrière-plan)?

  2. jobs commande jobs affiche les jobs d’arrière-plan existants. Comment voyons-nous l’identifiant du processus au premier plan?

  3. Je veux utiliser une fonction dans C (comme getpid() ) pour obtenir l’ ID de travail et le statut d’un processus donné en fonction du processus.

  4. Quelle est la valeur maximale d’un identifiant de travail?

Le contrôle des tâches est une fonction de shell, et non une fonctionnalité de niveau du système d’exploitation telle que les processus.

  1. Les identificateurs de travail sont atsortingbués lorsque le contrôle du travail est appelé, par exemple avec suspend-character (généralement Ctrl-Z) ou en émettant un & ampersand à la fin de la ligne de commande.

  2. Le processus de premier plan obtient un ID de tâche uniquement lorsque vous le suspendez. Le shell affiche l’ID de travail pour vous lors de la suspension.

  3. Vous ne pouvez pas, puisque vous ne travaillez plus dans le shell.

  4. Je pense que vous êtes à court d’autres ressources avant de manquer d’ID de travail.

L’identifiant du travail est différent du processus et de l’ID du processus parent. La définition ci-dessus n’est pas très clairement expliquée à propos de l’identifiant de travail