PRCTL

Section: Manuel du programmeur Linux (2)
Updated: 18 juillet 2003
Index


NOM
SYNOPSIS
DESCRIPTION
VALEUR RENVOYÉE
ERREURS
CONFORMITÉ
DISPONIBILITÉ
VOIR AUSSI
TRADUCTION

NOM

prctl - Opérations sur un processus

SYNOPSIS

#include <sys/prctl.h>
int prctl(int option, unsigned long arg2, unsigned long arg3 , unsigned long arg4, unsigned long arg5);

DESCRIPTION

prctl est invoqué avec un premier argument indiquant ce qu'il faut faire, (ses valeurs sont définies dans <linux/prctl.h>), et des paramètres supplémentaires dont la signification dépend du premier argument. Celui-ci peut être :
PR_SET_PDEATHSIG
(Depuis Linux 2.1.57) Configure le signal de mort du père du processus en cours avec la valeur arg2 (qui peut être un numéro de signal dans l'intervalle 1..maxsig, ou être nul pour effacer le signal). Il s'agit du numéro du signal que le processus en cours recevra si son père se termine. Cette valeur est effacée lors d'un fork().
PR_GET_PDEATHSIG
(Depuis Linux 2.3.15) Lit la valeur actuelle du signal de mort du processus père, et l'inscrit dans l'argument (int *) arg2.
PR_SET_DUMPABLE
(Depuis Linux 2.4) Fixe l'attribut déterminant si un fichier core est produit lorsque le processus reçoit un signal dont le comportement par défaut est de produire un fichier core. (Nomalement cet attribut est validé pour un processus par défaut, mais est effacé à l'exécution d'un programme Set-UID ou Set-GID ainsi que par divers appels-système manipulant des UID et GID). arg2 doit valoir 0 (pas de fichier core) ou 1 (fichier core possible).
PR_GET_DUMPABLE
(Depuis Linux 2.4) Renvoie (en résultat de fonction) l'état actuel de l'attribut de création de fichier core du processus appelant.
PR_SET_KEEPCAPS
Fixe l'état de l'attribut de conservation des capacités, qui détermine si les ensembles de capacités effectives et disponibles sont effacés lorsqu'on modifie les UIDs réel, effectif et sauvé du processus de manière à ce que tous soient non-nuls alors qu'auparavant l'un au moins était nul. (Par défaut les ensembles sont effacés). arg2 doit valoir 0 (les capacités sont effacées) ou 1 (capacités conservées).
PR_GET_KEEPCAPS
Renvoie (en résultat de fonction) l'état actuel de conservation des capacités du processus appelant.

VALEUR RENVOYÉE

Les options PR_GET_DUMPABLE et PR_GET_KEEPCAPS renvoient 0 ou 1. Toutes les autres options renvoient zéro en réussite, et -1 en cas d'échec, auquel cas errno contient le code d'erreur approprié.

ERREURS

EINVAL
La valeur de l'argument option n'est pas reconnue, ou bien il s'agit de PR_SET_PDEATHSIG et arg2 n'est pas un numéro de signal ou un zéro.

CONFORMITÉ

Cet appel-système est spécifique à Linux. IRIX dispose d'un appel système prctl (également introduit dans Linux 2.1.44 sur l'architecture MIPS sous le nom irix_prctl), dont le prototype est
ptrdiff_t prctl(int option, int arg2, int arg3);
et les options permettent de d'obtenir le nombre maximum de processus par utilisateur, le nombre maximal de processeur utilisables par un processus, vérifier si un processus est bloqué, lire ou fixer la taille des piles, etc...

DISPONIBILITÉ

L'appel système prctl() a été introduit dans Linux 2.1.57. Il n'y a pas encore d'interface prctl() dans la bibliothèque.

VOIR AUSSI

signal(2)

TRADUCTION

Christophe Blaess, 1996-2003.