Linux |
CentOS 4.8 |
|
pivot_root(2) |
pivot_root − Modifier le répertoire racine de tous les processus. |
#include <unistd.h> long pivot_root (const char *nouv_rac,const char *put_old); |
pivot_root remplace le répertoire racine et le répertoire courant de tous les processus en cours d’exécution (ayant anc_rac comme racine ou répertoire courant) par celui spécifié par le chemin nouv_rac. Ce répertoire sera utilisé comme origine des chemins commençant par /. Le répertoire racine est hérité par tous les enfants du processus ayant fait le changement. Seul le Super−User peut effectuer un changement de répertoire racine. Notez que cet appel-système modifie le répertoire de travail. |
pivot_root renvoie 0 s’il réussit, ou un code d’erreur négatif s’il échoue. |
Suivant le type de système de fichiers, plusieurs erreurs peuvent être renvoyées. Les plus courantes sont les suivantes : |
EBUSY |
Ressource en cours d’utilisation. |
|||
EINVAL |
Argument invalide. |
|||
EPERM |
L’UID effectif du processus n’est pas nul. |
|||
ENOENT |
Le fichier n’existe pas. |
ENOTDIR |
Un élément du chemin d’accès n’est pas un répertoire. |
Cet appel-système n’est absolument pas portable et est spécifique à Linux. Vous ne devriez jamais l’employer directement. |
Cet appel-système a été ajouté au noyau de Linux au cours du cycle de développement 2.3.xx. |
Contrairement à chroot (2), pivot_root
s’applique à tous les processus. Le
répertoire racine et le répertoire
courant des processus pour lesquels ceux-ci sont
différents de anc_rac ne sont pas
modifiés. En effet, s’il a
été jugé bon de les
modifier (via chroot() et chdir() ), il y a probablement une
bonne raison et il serait probablement erroné
de les forcer sur un autre répertoire. |
chdir(2) pivot_root(2) |
Thierry Vignaud <tvignaud@mandrakesoft.com>, 2000 |
pivot_root(2) |