Accueil > > > SUPRIMER SHM SEM MSGQUEUE
SUPRIMER SHM SEM MSGQUEUE
Information sur la source
Description
Vous travaillez avec les IPC sous Unix? Vous vous plantez et vos files de messages, vos shared memory ou vos semaphores ne sont pas supprimés? Voici une petite source sans prétention qui nettoie tout sa pour vous.
Source
- #include <stdio.h>
- #include <stdlib.h>
-
- // Semaphores
- #include <sys/types.h>
- #include <sys/ipc.h>
- #include <sys/sem.h>
-
- // Shm
- #include <sys/shm.h>
-
- // Msg Queue
- #include <sys/msg.h>
-
- int main (int argc,char *argv[])
- {
- int sem, shm, msq, ret;
-
- if (argc != 4)
- {
- printf("Entrez l'ID de la file de Message: ");
- scanf("%d",&msq);
- printf("Entrez l'ID de la SHM: ");
- scanf("%d",&shm);
- printf("Entrez l'ID du Semaphore: ");
- scanf("%d",&sem);
- }
- else
- {
- msq=atoi(argv[1]);
- shm=atoi(argv[2]);
- sem=atoi(argv[3]);
- }
-
- printf("\n");
-
- if(msq!=0)
- {
- printf("Suppression de la MSG Queue");
- ret=msgctl(msq, IPC_RMID, 0);
- if(ret==-1)
- printf("\t\t\t[!!]\n");
- else
- printf("\t\t\t[Ok]\n");
- }
- if(shm!=0)
- {
- printf("Suppression de la SHM");
- ret=shmctl(shm, IPC_RMID, 0);
- if(ret==-1)
- printf("\t\t\t[!!]\n");
- else
- printf("\t\t\t[Ok]\n");
- }
- if(sem!=0)
- {
- printf("Suppression du Semaphore");
- ret=semctl(sem, 0, IPC_RMID, 0);
- if(ret==-1)
- printf("\t\t[!!]\n");
- else
- printf("\t\t[Ok]\n");
- }
-
- exit(0);
- }
#include <stdio.h>
#include <stdlib.h>
// Semaphores
#include <sys/types.h>
#include <sys/ipc.h>
#include <sys/sem.h>
// Shm
#include <sys/shm.h>
// Msg Queue
#include <sys/msg.h>
int main (int argc,char *argv[])
{
int sem, shm, msq, ret;
if (argc != 4)
{
printf("Entrez l'ID de la file de Message: ");
scanf("%d",&msq);
printf("Entrez l'ID de la SHM: ");
scanf("%d",&shm);
printf("Entrez l'ID du Semaphore: ");
scanf("%d",&sem);
}
else
{
msq=atoi(argv[1]);
shm=atoi(argv[2]);
sem=atoi(argv[3]);
}
printf("\n");
if(msq!=0)
{
printf("Suppression de la MSG Queue");
ret=msgctl(msq, IPC_RMID, 0);
if(ret==-1)
printf("\t\t\t[!!]\n");
else
printf("\t\t\t[Ok]\n");
}
if(shm!=0)
{
printf("Suppression de la SHM");
ret=shmctl(shm, IPC_RMID, 0);
if(ret==-1)
printf("\t\t\t[!!]\n");
else
printf("\t\t\t[Ok]\n");
}
if(sem!=0)
{
printf("Suppression du Semaphore");
ret=semctl(sem, 0, IPC_RMID, 0);
if(ret==-1)
printf("\t\t[!!]\n");
else
printf("\t\t[Ok]\n");
}
exit(0);
}
Conclusion
Utilisation:
cc -o IpcKill main.c
IpcKill 123 456 789
avec:
123=id Msg Queue
456=id Shm
789=id Semaphore
Un 0 ignorera l'élement.
Ex:
IpcKill 0 0 123
Ne supprimera que le semaphore 123
Pour obtenir les id, utilisez la commande "ipcs | grep $USER"
Sources de la même categorie
Commentaires et avis
Discussions en rapport avec ce code source dans le forum
Variable partagée : semaphore ? [ par sena ]
Bonjour,j'ai deux fonctions.Une de ces 2 fonctions est un thread qui s'exécute toutes les 3 secondes.Ces 2 fonctions utilisent une même variable.je su
Linux, C & Sockets [ par cbismuth ]
Bonjour! Je pense devenir fou...Je programme actuellement une architecture serveur/client en C.Le problème est que pour tous les clients qui se conne
Passer une struct dans une shared memory POSIX [ par cobbleguard ]
Salut,J'ai 3 processus indépendants qui communiquent.PS1 reçoit des valeurs saisies au clavier, les met dans une structure et les envoie au
IPC dans un driver [ par Willi ]
Bonjour,Je suis en train de développer un driver afin de hooker ZwCreateFile.Voila au lieu d'enregistrer dans un fichier les paramètres passés à cette
L'événement est il un IPC ? [ par Booster ]
Bonjour,Voila question à 300€ ^^ que je me suis posé, est ce que les évenements font partie de la catégorie IPC (Inter processus communication) ?Vu qu
[IPC] Memoire partage shmget() [ par Ilsundal ]
Bonjour a tous,je rencontre un soucis récurrent sous FreeBSD et MacOS X, lors de l'utilisation de mémoire partage, avec les méthodes ftok(), shmget(),
Semaphore Solaris [ par carton99 ]
Bonjour, je me suis peut etre trompé de theme! Bref j'utilise les semaphores par exemple P(mutex) ou V(gare1). J'aimerai réaliser des fonctions pour
information ipc [ par miouxmioux ]
Bonjour à tous, Je travaille en ce moment avec les ipc, et plus spécialement avec les files de messages. J'ai pu voir que l'on pouvait récuperer le
memoire partage [ par chiro2000 ]
Bonsoir Je suis actuellement entrain d' ecrire un jeu en utilisant les Shm; la map du jeu est stocke dans une shm que chaque processus appele joueur
Quel est le meilleur IPC(Inter Processus Communications) sous windows ? [ par LaTatadu91 ]
Bonjour, Dans le cadre d'échanges de données entre 2 processus écrit en C++, basé sur un seul PC sous Windows. Ces échanges se font dans les 2 sens,
|
Derniers Blogs
IMAGINE CUP 2012, MAKE A SIGN EN FINALEIMAGINE CUP 2012, MAKE A SIGN EN FINALE par junarnoalg
Voilà qui est fait, la nouvelle est officielle ! L'équipe belge "Make a Sign" va au pays des kangourous défendre son projet dans la catégorie Software Design. http://www.imaginecup.com/CompetitionsContent/Competition/WorldwideFinalists.aspx V...
Cliquez pour lire la suite de l'article par junarnoalg KINECT 1.5 IS OUT !KINECT 1.5 IS OUT ! par Vko
La version 1.5 du Kinect For Microsoft vient tout juste de sortir ! Plein de nouveautés: Tracking de squelette en Near Mode Détection en position assise Détection faciale avec un SDK dédié Documentation et des guideline (enfin) Un out...
Cliquez pour lire la suite de l'article par Vko LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) par richardc
Mise à jour des Web API du 14 Mai
Réservez dès maintenant votre journée du 20 juin pour le Windows Azure Dev Camp 2012 à Paris
Mise à jour de Team Foundation Service
MechCommander 2 sur Windows 8
Entity Framework 5 Release Candidate e...
Cliquez pour lire la suite de l'article par richardc REACTIVE EXTENSIONS : CONSOMMER DES SERVICES AVEC RX PARTIE 3, LES PIèGES à éVITERREACTIVE EXTENSIONS : CONSOMMER DES SERVICES AVEC RX PARTIE 3, LES PIèGES à éVITER par Groc
Une mauvaise utilisation de rx lors de l'écriture d'une couche d'accès à des services peut conduire à des cas embarassants avec des erreurs mal gérées, des appels qui ne partent lorsqu'ils le devraient, et même des résultats incorrects . le tout nuis...
Cliquez pour lire la suite de l'article par Groc SHAREPOINT BLOG SITE, PROBLèME D'ARCHIVESSHAREPOINT BLOG SITE, PROBLèME D'ARCHIVES par junarnoalg
Dernièrement, nous avons migré le site
myTIC
vers un nouveau serveur SharePoint 2010. Dans les contenus que nous vouloins récupérer, nous avions un certain nombre de blogs.
Nous avons utilisé les commandes Power...
Cliquez pour lire la suite de l'article par junarnoalg
Forum
RE : SAC A DOS RE : SAC A DOS par hadjkaddour
Cliquez pour lire la suite par hadjkaddour
Logiciels
sDEVIS-FACTURES vlPRO (8.1.0.3)SDEVIS-FACTURES VLPRO (8.1.0.3)sDEVIS-FACTURES vlPRO a été mis au point pour les particuliers, créateurs, entrepreneurs, artisa... Cliquez pour télécharger sDEVIS-FACTURES vlPRO 974 Application Server (12.2.4.6)974 APPLICATION SERVER (12.2.4.6)Développez de puissantes applications dans un environnement de 'cloud computing', clusterisé, séc... Cliquez pour télécharger 974 Application Server vPicture (1.4.2.1)VPICTURE (1.4.2.1)Avec vPicture, hébergez vos images facilement et rapidement.
vPicture est un utilitaire simple, ... Cliquez pour télécharger vPicture Easy-Planning (2.2.1.6)EASY-PLANNING (2.2.1.6)Easy-Planning permet de créer des plannings sous la représentation de diagrammes et est adapté au... Cliquez pour télécharger Easy-Planning COM-BACKUP (2.0)COM-BACKUP (2.0)
COM-BACKUP est un logiciel de sauvegarde qui permet de planifier les sauvegardes de vos dossiers ...
Cliquez pour télécharger COM-BACKUP
|