Next: Premier Plan et Arrière Up: Terminal de contrôle - Previous: Acquisition d'un terminal de

Groupes de processus

Les groupes de processus sont un raffinement POSIX de la notion de session. Ils permettent de travailler avec des groupes de processus sans toutes les obligations liées aux sessions.

L'objectif est de spécifier l'ensemble des processus qui sont interactifs sur un terminal donné à un moment donné, et donc qui ont le droit de lire sur le terminal et de plus sont informés de la frappe des caractères de contrôle.

Un groupe de processus est identifié par le PID du leader du groupe, à la naissance, un processus hérite du groupe de son père. La primitive suivante:

	#include <unistd.h>
	pid_t setpgid(pid_t pid, pid_t id_grp);
permet de rattacher le processus pid au groupe id_grp.

Si pid est nul c'est le processus courant qui est rattaché.
Si id_grp est nul le numéro déduit de pid est utilisé.
Dans tous les cas soit le groupe existe et le processus est rattaché, soit le groupe est créé et le processus traité devient le leader du groupe.

Un processus ne peut être rattaché qu'à un groupe appartenant à la même session que lui,c'est-à-dire, que les groupes sont définis à l'intérieur des sessions.

La primitive

	#include <unistd.h>
	pid_t getpgrp(void);
renvoie le numéro du leader du groupe du processus courant.

Sur certaines machines, la primitive

	#include <unistd.h>
	pid_t getgrp2(pid_t pid);
renvoie le numéro du groupe du processus pid.



Dominique REVUZ
Mon Feb 2 12:10:31 MET 1998
Une Bug Un mail Merci