Bonjour à tous,
j'ai besoin de votre aide car je bloque ...
J'ai crée une fonction dans mon programme qui permet de créer un fichier texte et d'y insérer le numéro de PID (du processus) de ce programme.
Je vais utiliser ce PID avec un autre programme qui permettra d'envoyer un signal(SIGUSR1) sur ce PID là (j'espère être clair ^^).
Ma fonction marche correctement(fichier texte crée avec le PID à l'intérieur
MAIS lorsque je souhaite mettre le programme en sommeil avec pause ()cela ne fonctionne pas, le numéro de PID ne s'écrit pas dans mon fichier texte mon fichier est vide...
Pourquoi ? Je ne comprend vraiment pas car normalement le PID doit rester stocker dans le fichier texte ?
Voici mon code :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27 #include <stdio.h> #include <stdlib.h> #include <unistd.h> #include <math.h> #include <signal.h> void ecriturePIDDansFichier() { pid_t pid = getpid(); char *nomFichier = "PID.txt" ; FILE * fichierContenantLePID = NULL ; fichierContenantLePID = fopen(nomFichier, "w"); fprintf(fichierContenantLePID,"%d", pid); printf("Le PID est : %d \n", pid); } int main(void) { ecriturePIDDansFichier() ; printf("En attente d'un signal : \n"); pause(); printf(" Signal SIGUSR1 recu \n"); return 0; }
Partager