Provided by: manpages-fr-dev_3.32d0.2p4-1_all bug

NOM

       unshare - Désassocier certaines parties du contexte d'exécution

SYNOPSIS

       #define _GNU_SOURCE             /* Consultez feature_test_macros(7) */
       #include <sched.h>

       int unshare(int flags);

DESCRIPTION

       unshare()  permet  à  un  processus  de  désassocier  certaines  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 de noms de montage, est implicitement partagé quand
       un processus est créé avec fork(2) ou vfork(2),  alors  que  d'autres  parties,  comme  la
       mémoire  virtuelle,  peuvent être partagées en faisant explicitement la demande lors de la
       création d'un processus avec clone(2).

       L'intérêt principal de unshare() est de permettre à un processus de contrôler son contexte
       d'exécution partagé sans avoir à créer un nouveau processus.

       L'argument flags est un masque qui indique quelles parties du contexte d'exécution doivent
       être désassociées. Cet argument est construit comme un OU  binaire  entre  les  constantes
       suivantes :

       CLONE_FILES
              A l'effet inverse de l'attribut CLONE_FILES de clone(2). Supprimer le partage de la
              table des descripteurs de fichier, afin que le processus appelant ne  partage  plus
              ses descripteurs de fichier avec d'autres processus.

       CLONE_FS
              Annuler  l'effet  de  l'attribut  CLONE_FS de clone(2). Départager les attributs de
              système de fichiers, afin que le processus appelant ne partage plus son  répertoire
              racine,  son  répertoire  courant  et  sa  valeur  d'umask avec d'autres processus.
              Consultez chroot(2), chdir(2), umask(2).

       CLONE_NEWIPC (depuis Linux 2.6.19)
              Cet attribut a le même effet que l'attribut CLONE_NEWIPC  de  clone(2).  Départager
              l'espace  de noms IPC System V, afin que le processus appelant ait une copie privée
              de l'espace de noms IPC System V qui ne soit pas partagée avec d'autres  processus.
              L'utilisation de cet attribut implique CLONE_SYSVSEM. L'utilisation de CLONE_NEWIPC
              nécessite la capacité CAP_SYS_ADMIN.

       CLONE_NEWNET (depuis Linux 2.6.24)
              Cet attribut a le même effet que l'attribut CLONE_NEWNET  de  clone(2).  Départager
              l'espace  de  noms  de  réseau, afin que le processus appelant soit déplacé dans un
              nouvel espace de noms de réseau qui n'est pas  partagée  avec  d'autres  processus.
              L'utilisation de CLONE_NEWNET nécessite la capacité CAP_SYS_ADMIN.

       CLONE_NEWNS
              Cet  attribut  a  le  même effet que l'attribut CLONE_NEWNS de clone(2). Départager
              l'espace de noms de montage, afin que le processus appelant ait une copie privée de
              son  espace de noms qui ne soit pas partagée avec d'autres processus. L'utilisation
              de cet attribut  implique  CLONE_FS.  L'utilisation  de  CLONE_NEWNS  nécessite  la
              capacité CAP_SYS_ADMIN.

       CLONE_SYSVSEM (depuis Linux 2.6.26)
              Cet  attribut  inverse  l'effet de l'attribut CLONE_SYSVSEM de clone(2). Départager
              les valeurs « undo » des sémaphores System V, afin que le  processus  appelant  ait
              une copie privée qui ne soit pas partagée avec d'autres processus. L'utilisation de
              CLONE_SYSVSEM nécessite la capacité CAP_SYS_ADMIN.

       CLONE_NEWUTS (depuis Linux 2.6.19)
              Cet attribut a le même effet que l'attribut CLONE_NEWUTS  de  clone(2).  Départager
              l'espace  de  noms  IPC UTS, afin que le processus appelant ait une copie privée de
              l'espace  de  noms  UTS  qui  ne  soit  pas  partagée  avec   d'autres   processus.
              L'utilisation de CLONE_NEWUTS nécessite la capacité CAP_SYS_ADMIN.

       Si  flags  est  nul,  unshare()  n'a  aucun  effet :  le contexte d'exécution du processus
       appelant n'est pas modifié.

VALEUR RENVOYÉE

       S'il réussit l'appel renvoie zéro, sinon il renvoie -1  et  remplit  errno  avec  le  code
       d'erreur.

ERREURS

       EINVAL Un attribut invalide est indiqué dans flags.

       ENOMEM Impossible d'allouer suffisamment de mémoire pour copier les parties du contexte de
              l'appelant qui doivent être rendues privées.

       EPERM  Le processus appelant n'avait pas les privilèges appropriés  pour  effectuer  cette
              opération.

VERSIONS

       L'appel système unshare() est apparu dans Linux 2.6.16.

CONFORMITÉ

       L'appel système unshare() est spécifique à Linux.

NOTES

       Tous  les  attributs  de  processus qui peuvent être partagés lorsqu'un processus est créé
       avec clone(2) ne peuvent pas être rendus privés avec unshare(). En  particulier,  dans  le
       noyau   2.6.16,   unshare()   n'implémente  pas  de  drapeaux  ayant  l'effet  inverse  de
       CLONE_SIGHAND, CLONE_SYSVSEM, CLONE_THREAD ou CLONE_VM. Cette fonctionnalité  pourra  être
       ajoutée plus tard si nécessaire.

VOIR AUSSI

       clone(2), fork(2), vfork(2), Documentation/unshare.txt

COLOPHON

       Cette  page  fait partie de la publication 3.32 du projet man-pages Linux. Une description
       du projet et des  instructions  pour  signaler  des  anomalies  peuvent  être  trouvées  à
       l'adresse <URL:http://www.kernel.org/doc/man-pages/>.

TRADUCTION

       Depuis    2010,    cette   traduction   est   maintenue   à   l'aide   de   l'outil   po4a
       <URL:http://po4a.alioth.debian.org/> par l'équipe de traduction  francophone  au  sein  du
       projet perkamon <URL:http://perkamon.alioth.debian.org/>.

       Christophe   Blaess   <URL:http://www.blaess.fr/christophe/>   (1996-2003),  Alain  Portal
       <URL:http://manpagesfr.free.fr/> (2003-2006). Julien Cristau et  l'équipe  francophone  de
       traduction de Debian (2006-2009).

       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> ».