Bonjour à tous,
Je suis en train de m'écrire une doc sur les processus et je bloque plus ou moins sur le concept de session.
J'ai commencé à écrire ce qui suit, y'a t'il des anneries et avez-vous d'autres informations sur le sujet ?
#################################################
Dans certains cas, un processus et ses descendants forment un groupe de processus identifié par le PID du premier processus père (PGID), le « leader du groupe ». Dans ce cas les signaux peuvent être envoyés à tous les membres du groupe en même temps. Chaque groupe de processus est membre d'une session (SID) et chaque processus est appartenant à ce groupe est donc membre de cette session, on peut voir une session comme un groupe de groupe. Un processus dans chaque session est définit comme « leader de session ». Lorsque pour un processus, PID = PGID = SID, nous avons affaire à un leader de session.
Explication de l’erreur « EPERM » (voir plus haut) : On a essayé de déplacer un processus dans un groupe d'une session différente, ou de changer le groupe d'un fils du processus appelant qui se trouve dans une autre session, ou de modifier le groupe d'un leader de session (avec « setpgid() », « setpgrp() »).
On peut connaître pour chaque processus l’ID du leader du groupe (PGID) et l’ID du leader de session (SID) auquels il appartient.
Exemple :
# ps jax
PPID PID PGID SID TTY TPGID STAT UID TIME COMMAND
...
1 2802 2802 2802 ? -1 Ss 0 0:00 cpuspeed -d -n
2802 2803 2802 2802 ? -1 S 0 0:01 cpuspeed -d -n
2802 2804 2802 2802 ? -1 S 0 0:01 cpuspeed -d -n
2802 2805 2802 2802 ? -1 S 0 0:00 cpuspeed -d –n
...
Dans cet exemple, l’application cpuspeed est divisée en quatre processus. Le « s » de l’état du processus « 2802 » indique que ce dernier est leader de session. Ces compagnons appartiennent au même groupe de processus et à la même session.
#################################################
Merci d'avance.
Ulric1979
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.