Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <stdlib.h>
- #include <signal.h>
- #include <unistd.h>
- int main(){
- int i;
- int pid[3];
- int signals[3];
- int signal,process_id;
- FILE* PIDs_file;
- signals[0]=10;//Wstrzymanie SIGUSR1
- signals[1]=12;//Wznowienie SIGUSR2
- signals[2]=2;//Koniec dzialania SIGINT
- for(;;){
- printf("Wybierz signal : \n");
- printf("1. Wstrzymaj prace procesu\n");
- printf("2. Wznow prace procesu\n");
- printf("3. Zakoncz prace procesow\n");
- printf("4. Wyjdz z programu\n");
- scanf("%d",&signal);
- getchar();//usuniecie entera
- if(signal == 4)return 0;
- printf("Wybierz proces: \n");
- printf("1.Proces P1\n");
- printf("2.Proces P2\n");
- printf("3.Proces P3\n");
- scanf("%d",&process_id);
- getchar();//usuniecie entera
- if(PIDs_file = fopen("PID_info.txt","r")){
- for(i=0;i<=2;i++) fscanf(PIDs_file,"%d",&pid[i]);
- fclose(PIDs_file);
- }else printf("Nie znaleziono pliku pids.txt");
- kill(pid[process_id-1], signals[signal-1]);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement