unshare   Début   Suivant   Sommaire   Préc.page.lue   Accueil
Section: Manuel du programmeur Linux (2)
Updated: 26 juillet 2007
Sommaire  



NOM   Début   Précédent   Suivant   Sommaire   Préc.page.lue   Accueil
unshare - Dissocier les parties du contexte d'exécution d'un processus  



SYNOPSIS   Début   Précédent   Suivant   Sommaire   Préc.page.lue   Accueil
#define _GNU_SOURCE
#include <sched.h>

int unshare(int flags);
 



DESCRIPTION   Début   Précédent   Suivant   Sommaire   Préc.page.lue   Accueil
unshare() permet à un processus de dissocier les parties de son contexte d'exécution qui sont actuellement partagées avec d'autres processus. Une partie du contexte d'exécution, comme l'espace nom, est implicitement partagée lorsqu'un processus est créé avec fork(2) ou vfork(2), pendant que d'autres parties, comme la mémoire virtuelle, peuvent être partagées par une demande explicite lors de la création d'un processus avec clone(2).

La principale utilisation de unshare() est de permettre à un processus de contrôler son contexte d'exécution partagé sans créer de nouveau processus.

L'argument flags est un masque de bits qui spécifie quelles parties du contexte d'exécution ne devraient pas être partagées. Cet argument est un OU binaire de zéro ou plusieurs des constantes suivantes :

CLONE_FILES
Inverser l'effet de l'attribut CLONE_FILES de clone(2). Ne pas partager la table des descripteurs de fichier, ainsi, le processus appelant ne partagera plus ses descripteurs de fichiers avec les autres processus.
CLONE_FS
Inverser l'effet de l'attribut CLONE_FS de clone(2). Ne pas partager les attributs du système de fichiers, ainsi, le processus appelant ne partagera plus son répertoire racine, son répertoire courant ou ses attributs umask avec les autres processus. chroot(2), chdir(2), ou umask(2)
CLONE_NEWNS
Cet attribut a le même effet que l'attribut CLONE_NEWNS de clone(2). Ne pas partager l'espace nom, ainsi, le processus appelant a une copie privée de son espace nom qui n'est pas partagée avec les autres processus. Spécifier cet attribut implique automatiquement CLONE_FS.

Si flags vaut zéro, unshare() est une non-opération ; aucune modification ne sera effectuée dans le contexte d'exécution du processus.  




VALEUR RENVOYÉE   Début   Précédent   Suivant   Sommaire   Préc.page.lue   Accueil
S'il réussit, l'appel renvoie 0. S'il échoue, il renvoie -1 et écrit errno en conséquence.  



ERREURS   Début   Précédent   Suivant   Sommaire   Préc.page.lue   Accueil
EINVAL
Un bit invalide a été spécifié dans flags.
ENOMEM
Imposssible d'allouer suffisamment de mémoire pour copier les parties du contexte de l'appelant qui ne doivent pas être partagées.
EPERM
flags spécifiait CLONE_NEWNS mais le processus appelant n'était pas privilégié (n'avait pas la capacité CAP_SYS_ADMIN).
 



VERSIONS   Début   Précédent   Suivant   Sommaire   Préc.page.lue   Accueil
L'appel système unshare() a été ajouté à Linux dans le noyau 2.6.16.  



CONFORMITÉ   Début   Précédent   Suivant   Sommaire   Préc.page.lue   Accueil
L'appel système unshare() est spécifique à Linux.  



NOTES   Début   Précédent   Suivant   Sommaire   Préc.page.lue   Accueil
Ce ne sont pas tous les attributs du processus qui peuvent être partagés lorsqu'un nouveau processus est créé avec Not all of the process attributes that can be shared when a new process is created using clone(2) can be unshared using unshare(). En particulier, dans le noyau 2.6.16, unshare() n'implémente pas les attributs qui inverse les effets de CLONE_SIGHAND, CLONE_SYSVSEM, CLONE_THREAD ou CLONE_VM. De telles fonctionnalités pourront être ajoutées dans le futur, si cela est nécessaire.  



VOIR AUSSI   Début   Précédent   Suivant   Sommaire   Préc.page.lue   Accueil
clone(2), fork(2), vfork(2), Documentation/unshare.txt  



TRADUCTION   Début   Précédent   Suivant   Sommaire   Préc.page.lue   Accueil

Ce document est une traduction réalisée par Alain Portal <aportal AT univ-montp2 DOT fr> le 28 juillet 2006 et révisée le 24 décembre 2007.

L'équipe de traduction a fait le maximum pour réaliser une adaptation française de qualité. La version anglaise la plus à jour de ce document est toujours consultable via la commande : « LANG=C man 2 unshare ». N'hésitez pas à signaler à l'auteur ou au traducteur, selon le cas, toute erreur dans cette page de manuel.


 



Sommaire   Début   Suivant   Sommaire   Préc.page.lue   Accueil
NOM
SYNOPSIS
DESCRIPTION
VALEUR RENVOYÉE
ERREURS
VERSIONS
CONFORMITÉ
NOTES
VOIR AUSSI
TRADUCTION

Table des mots clés   Début   Suivant   Sommaire   Préc.page.lue   Accueil
CLONE_FILESDESCRIPTION
CLONE_FSDESCRIPTION
CLONE_NEWNSDESCRIPTION
EINVALERREURS
ENOMEMERREURS
EPERMERREURS



Ce document a été créé par man2html suivi de man2html.pl, le 17/10/2008 17:49:40, en utilisant les pages de 'man'.
 

Valid HTML 4.01 Transitional