Rechercher une page de manuel
setpgrp
Langue: fr
Version: 20 janvier 2003 (ubuntu - 01/11/07)
Section: 2 (Appels système)
NOM
setpgid, getpgid, setpgrp, getpgrp - Fixer/lire le groupe du processusSYNOPSIS
#include <unistd.h>int setpgid(pid_t pid, pid_t pgid);
pid_t getpgid(pid_t pid);
int setpgrp(void);
pid_t getpgrp(void);
DESCRIPTION
setpgid() fixe à pgid l'ID du groupe de processus auquel appartient le processus mentionné par pid. Si pid vaut zéro, le PID du processus en cours est utilisé. Si pgid vaut zéro, le PID du processus indiqué par pid est utilisé. Si setpgid est utilisé pour déplacer un processus d'un groupe dans un autre (comme cela peut être fait par certains shell pour les pipelines), les deux groupes de processus doivent appartenir à la même session. Dans ce cas, pgid indique un groupe de processus existant à rejoindre et l'ID de session de ce groupe doit être celui du processus concerné.getpgid() renvoie l'ID du groupe de processus auquel appartient le processus indiqué par pid. Si pid vaut zéro, le PID du processus en cours est utilisé.
L'appel setpgrp() invoque simplement setpgid(0,0).
De même getpgrp() est équivalent à getpgid(0). Chaque groupe de processus est membre d'une session et chaque processus est membre de cette session.
Les groupes de processus sont utilisés pour la distribution de signaux, et par les terminaux pour contrôler les requêtes de saisie. Les processus appartenant au même groupe que le terminal sont au premier plan, et peuvent y lire des données, alors que les autres sont en arrière-plan et seront bloqués s'ils tentent de lire des données. Ces appels sont utilisés par des programmes comme csh(1) pour créer des groupes de processus afin d'implémenter le contrôle de jobs. Les appels TIOCGPGRP et TIOCSPGRP décrits dans termios(3) servent à fixer/lire le groupe de processus du terminal de contrôle.
Si une session a un terminal de contrôle, CLOCAL n'est pas actif, et une déconnexion se produit, alors le leader de la session recevra SIGHUP. Si le leader se termine, le signal SIGHUP sera envoyé à tous les processus du groupe au premier plan sur le terminal de contrôle.
Si la fin du processus rend un groupe orphelin, et si l'un des membres de ce groupe est arrêté, alors un signal SIGHUP suivi de SIGCONT sera envoyé à tous les processus du groupe.
VALEUR RENVOYÉE
setpgid() et setpgrp() renvoient zéro s'ils réussissent, ou -1 s'ils échouent, auquel cas errno contient le code d'erreur.getpgid() renvoie le groupe du processus s'il réussit ou -1 s'il échoue, et errno contient le code d'erreur.
getpgrp() retourne toujours le groupe du processus courant.
ERREURS
- EACCES
- On a essayé de changer le groupe de processus d'un enfant du processus appelant, et ce fils a déjà effectué un execve() (setpgid(), setpgrp()).
- EINVAL
- pgid est inférieur à 0 (setpgid(), setpgrp()).
- EPERM
- 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 (setpgid(), setpgrp()).
- ESRCH
- Pour getpgid() : pid ne correspond à aucun processus. Pour setpgid() : pid n'est ni le processus appelant, ni l'un de ses enfants.
CONFORMITÉ
Les fonctions setpgid() et getpgrp() sont conformes à POSIX.1-2001. La fonction setpgrp() provient de BSD 4.2, et getpgid() de SVr4.NOTES
Un processus fils créé par fork(2) hérite du PGID de son père. Le PGID est conservé après un execve(2).POSIX à défini setpgid() à partir de la fonction setpgrp() de BSD. Une fonction Système V existe avec le même nom, mais fonctionnant comme setsid(2).
Pour obtenir les prototypes avec la GlibC, définissez à la fois _XOPEN_SOURCE et _XOPEN_SOURCE_EXTENDED ou utilisez un "#define _XOPEN_SOURCE n" avec n supérieur ou égal à 500.
VOIR AUSSI
getuid(2), setsid(2), tcgetpgrp(3), tcsetpgrp(3), termios(3), feature_test_macros(7)TRADUCTION
Cette page de manuel a été traduite et mise à jour par Christophe Blaess <http://www.blaess.fr/christophe/> entre 1996 et 2003, puis par Alain Portal <aportal AT univ-montp2 DOT fr> jusqu'en 2006, et mise à disposition sur http://manpagesfr.free.fr/.Les mises à jour et corrections de la version présente dans Debian sont directement gérées par Julien Cristau <jcristau@debian.org> et l'équipe francophone de traduction de Debian.
Veuillez signaler toute erreur de traduction en écrivant à <debian-l10n-french@lists.debian.org> ou par un rapport de bogue sur le paquet manpages-fr.
Vous pouvez toujours avoir accès à la version anglaise de ce document en utilisant la commande « man -L C <section> <page_de_man> ».
Un 'tit jus d'O ? :)
-+- Daniel à Pierre, sur fr.rec.photo -+-
Contenus ©2006-2008 Benjamin Poulain
Design ©2006-2008 Maxime Vantorre