Articles of ipc

Quel est le but ftok dans les files de messages

J’ai commencé à lire les files de messages dans l’un des mécanismes IPC sous Linux. Mais au tout début, j’ai quelques questions élémentaires. Utilisation de ftok() pour générer un identifiant unique (clé) et l’identifiant unique à générer. Ne pouvons-nous pas utiliser un simple numéro pour obtenir nos clés plutôt que d’utiliser ftok() ? Quel est […]

synchronisation entre processus utilisant des sémaphores non nommés

Dans process-1 , j’essaie d’écrire les données dans la mémoire partagée. En même temps, dans le process-2 je lis les données de la même mémoire partagée. dans ce cas, je dois fournir une synchronisation entre ces deux processus. si je vais passer par des sémaphores sans nom (en utilisant shm_init(),mmap() ), cela fonctionnera-t-il ou non? […]

C passer le pointeur vide en utilisant la mémoire partagée

J’ai besoin de transmettre void handler à une autre application. Pour reproduire le scénario, j’ai créé un petit programme à l’aide de la mémoire partagée et essayer de transmettre le pointeur Void à une autre application et d’imprimer la valeur. lorsque j’essaie de déréférencer le crash de la deuxième application du pointeur. Voici l’exemple d’application […]

Lancer bash en utilisant posix au lieu de fork / execv

J’ai une CLI, une des commandes est d’entrer dans le shell bash Linux. C’est le code qui le fait en utilisant fork & execv: if ((pid = fork()) < 0) { syslog_debug(LOG_ERR, "Could not fork"); } if (pid == 0) { /* In child, open the child's side of the tty. */ int i; for(i […]

Utilisation de la mémoire partagée avec des masortingces

Je veux créer une masortingce dans un segment de mémoire partagée. Dans mon deuxième programme, je peux lire tailleX , tailleY mais ma masortingce a juste ‘0’ en valeur. Je crée ma masortingce dans ma fonction initialiserSegMem et les valeurs sont ok … comme toujours, j’ai un problème avec les pointeurs … ma struct mem_share: […]

msgrcv – L’indicateur SA_RESTART ne fonctionne pas

Il y a quelque chose qui cloche dans mon code qui utilise la queue IPC pour communiquer entre les threads. J’ai besoin de manipuler SIGINT en toute sécurité – laissez le programme terminer tous les threads actifs lorsque SIGINT est apparu avant de s’éteindre. Cependant, j’ai un grave problème pour trouver une solution car même […]

Deux enfants du même parent ne communiquent pas par canal si le parent n’appelle pas wait ()

Veuillez consulter le code ci-dessous: #include main(){ int pid, fds[2], pid1; char buf[200]; pipe(fds); pid = fork(); if(pid==0) { close(fds[0]); scanf(“%s”, &buf); write(fds[1], buf, sizeof(buf)+1); } else { pid1 = fork(); if(pid1==0) { close(fds[1]); read(fds[0], buf, sizeof(buf)+1); printf(“%s\n”, buf); } else { Line1: wait(); } } } Si je ne commente pas Line1, cela fonctionne […]

Pipes Linux en entrée et en sortie

Je voudrais faire ce qui suit dans un programme C sur un système d’exploitation Linux: Créer un PIPE en utilisant un appel système (ou 2) Exécuter un nouveau processus en utilisant exec () Connectez le STDIN du processus au tuyau créé précédemment. Connectez la sortie du processus à un autre PIPE. L’idée est de contourner […]

Utilisation de canaux en C pour IPC parent-enfant permet de bloquer le programme

J’écris un serveur dont fork () est hors processus enfant lorsqu’il accepte une connexion socket. Lorsque l’enfant communique avec un client, il doit renvoyer une partie de ces informations au parent. J’utilise un tuyau pour y parvenir. Le problème est que lorsque j’essaie de faire l’IPC parent-enfant, le parent bloque lors de la lecture de […]

Fonction d’écriture C qui renvoie int à Fortran

En fin de compte, j’essaie d’écrire une calculasortingce IPC en utilisant Fortran pour calculer et C pour transmettre les données entre les deux programmes Fortran. Lorsque j’aurai terminé, j’espère que cela ressemblera à: Fortran program to pass input -> Client written in C -> Server written in C -> Fortran program to calculate input and […]