Linux |
CentOS 4.8 |
|
prctl(2) |
prctl − Opérations sur un processus |
#include <sys/prctl.h> int prctl(int option, unsigned long arg2, unsigned long arg3 , unsigned long arg4, unsigned long arg5); |
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. Actuellement, la seule valeur d’option définie est PR_SET_PDEATHSIG, et l’appel correspondant 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(). |
L’appel prctl renvoie zéro s’il réussit, et −1 en cas d’échec, auquel cas errno contient le code d’erreur approprié. |
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. |
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... |
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. |
signal(2) |
Christophe Blaess, 1998. |
prctl(2) |