Par défaut, chaque processus exécuté sur le système Linux possède ses propres pages de mémoire privées. Un processus ne peut pas accéder aux pages mémoire utilisées par un autre processus. Le noyau maintient ses propres zones de mémoire. Pour des raisons de sécurité, aucun processus ne peut accéder à la mémoire utilisée par les processus du noyau. Pour faciliter le partage de données, vous pouvez créer des pages de mémoire partagée. Plusieurs processus peuvent lire et écrire vers et depuis une zone de mémoire partagée commune. Le noyau maintient et administre les zones de mémoire partagée et permet aux processus individuels d'accéder à la zone partagée.
La commande ipcs imprime un rapport sur les files d'attente de messages de communication interprocessus (IPC), les segments de mémoire partagée et les tableaux de sémaphores pour lesquels le processus actuel a un accès en lecture. Les options peuvent être utilisées pour spécifier le type de ressources sur lesquelles faire rapport et le format de sortie du rapport. La commande ipcs vous permet d'afficher les pages de mémoire partagée actuelles sur le système. Voici le résultat d'un exemple de commande ipcs :
# ipcs -m ------ Shared Memory Segments -------- key shmid owner perms bytes nattch status 0x00000000 0 rich 600 52228 6 dest 0x395ec51c 1 oracle 640 5787648 6
Chaque segment de mémoire partagée a un propriétaire qui a créé le segment. Chaque segment dispose également d'un paramètre d'autorisations Linux standard qui définit la disponibilité du segment pour les autres utilisateurs. La valeur de la clé est utilisée pour permettre à d'autres utilisateurs d'accéder au segment de mémoire partagée.
Exemples de commandes ipcs
1. Pour voir le segment de mémoire partagée :
# ipcs -m
2. Pour voir la file d'attente des messages :
# ipcs -q
3. Pour voir les tableaux de sémaphores :
# ipcs -s
4. Pour tout voir :
# ipcs -a
5. Pour avoir le format de sortie :
# ipcs -t time -p pid -c creator -l limits -u summary