Le système d'exploitation GNU-Linux/Le système virtuel /proc

Un livre de Wikilivres.
Aller à : navigation, rechercher


  1. Qu'est-ce qu'un système d'exploitation ?
  2. Unix et Linux
  3. Partitionnement du disque
  4. Installation
    1. Installer Debian via le réseau
  5. Utilisateur Unix, l'interface console
    1. Le login
    2. Commandes de base
    3. L'aide en ligne man
    4. L'éditeur de texte vi
    5. Les shells
    6. La complétion
    7. Les jokers
    8. Les répertoires importants
    9. Redirection des entrées/sorties
    10. Invoquer un programme en tâche de fond
    11. Propriétaires et droits d'accès
    12. Processus
    13. Locale
  6. Administration du système
    1. Configuration du réseau
    2. Les utilisateurs et groupes
    3. Le processus d'initialisation
    4. Les systèmes de fichiers
    5. Le système virtuel /proc
    6. Les périphériques /dev
    7. L'ordonnanceur de travaux cron
    8. Le backup : tar et gzip
    9. ghost avec partimage
    10. sauvegarde de fichiers avec rsync
    11. Les fichiers journaux syslog
    12. Installation de nouveaux logiciels
    13. Le noyau Linux et les modules
    14. Autres commandes utiles
    15. Installation RAID1 logiciel + LVM + XFS
    16. Scripts de surveillance
    17. Réseaux sans fil
  7. Administration des services réseaux
    1. Le serveur de noms BIND
    2. Le serveur de configuration réseau DHCP
    3. Le serveur de shell distant SSH
    4. Le partage de fichiers Samba
    5. Le partage de fichiers NFS
    6. Le serveur d'impression CUPS
    7. Le serveur de fichiers FTP
    8. Le serveur Web Apache
    9. La base de données MySQL
    10. Le serveur de mails Postfix
    11. Les annuaires LDAP
    12. L'outil d'administration Webmin
    13. La supervision
  8. Sécurisation d'un serveur Linux
    1. Installation d'un service en mode chroot
    2. Protection avec iptables
  9. Médiagraphie
  10. Auteurs


Le système de fichiers virtuel /proc[modifier | modifier le wikicode]

/proc n'existe pas sur le disque dur, il est fournit dynamiquement par le noyau, d'où le nom de virtuel.

Il permet de fournir des informations sur ce que voit le noyau.

En outre pour accéder à certains renseignements il sera nécessaire de monter obligatoirement /proc (définit dans /etc/fstab et fait automatiquement au boot).

 # cat /proc/cpuinfo

Les commandes ps, top, uptime (et bien d'autres) utilisent /proc pour récupérer des informations.

Quelques exemples d'informations :

 # cat /proc/partitions
 major minor  #blocks  name
 8     0    312571224  sda
 8     1        96358  sda1
 8     2    107418622  sda2
 8     3    117186142  sda3
 # cat /proc/swaps
 Filename               Type         Size     Used      Priority
 /dev/sd4          partition      5017592  1694624      -1
 # cat /proc/cpuinfo
 processor     : 0
 vendor_id     : GenuineIntel
 cpu family    : 6
 model         : 15
 model name    : Intel(R) Core(TM)2 CPU          6600  @ 2.40GHz
 stepping      : 6
 cpu MHz       : 2402.051
 cache size    : 4096 KB
 ...
 processor     : 1
 vendor_id     : GenuineIntel
 cpu family    : 6
 model         : 15
 model name    : Intel(R) Core(TM)2 CPU          6600  @ 2.40GHz
 stepping      : 6
 cpu MHz       : 2402.051
 cache size    : 4096 KB
 ...

Certains répertoires commencent par des numéros, il s'agit des PID (Process IDentifiant) des processus en cours d'exécution. A l'intérieur, on peut obtenir des renseignements sur le processus et sur son contexte d'exécution. Exemples :

 # cat /proc/8595/cmdline
 scribus
 # cat /proc/8595/environ
 SSH_AGENT_PID=4687
 DM_CONTROL=/var/run/xdmctl
 SHELL=/bin/bash
 ...
 # cat /proc/8595/maps
 08048000-08945000 r-xp 00000000 fd:00 1519957    /usr/bin/scribus
 ...
 b4ecb000-b4f9e000 r-xp 00000000 fd:00 92595256   /usr/lib/libBLT.2.4.so.8.4
 ...
 # cat /proc/8595/status
 Name:   scribus
 State:  S (sleeping)
 SleepAVG:     78%
 Tgid:   8595
 Pid:    8595
 PPid:   4720
 TracerPid:    0
 Uid:    1000  1000      1000    1000
 Gid:    1000  1000      1000    1000
 FDSize: 32
 Groups: 4 20 24 25 29 44 46 107 109 111 1000 1001
 VmPeak:   892432 kB
 VmSize:    84236 kB
 VmLck:         0 kB
link={{{link}}}À faire...

Parler de /proc pour modifier dynamiquement le comportement du noyau

link={{{link}}}À faire...

Parler de /sys et des sysctl