Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- WSTĘP
- #include <signal.h>
- #include <unistd.h>
- void obslugaINT(int SIG){
- printf("....");
- }
- int main (){
- sigset_t zbior, zbior2; //tworzenie nowego zbioru sygnalow ignorowanych
- sigemptyset(&zbior); //czyszczenie zbioru
- sigaddset(SIGINT, &zbior); //dodawanie sygnalow
- sigprocmask(SIG_BLOCK, &zbior, NULL); // blokowanie sygnalow podanych
- sigpending(&zbior2); //sygnaly zablokowane ale czekajace na wykonanie
- signal(SIGINT, obslugaINT); // SIGALRM
- signal(SIGQUIT, obslugaINT);
- alarm(5);
- }
- 2.
- #include <signal.h>
- #include <stdio.h>
- #include <unistd.h>
- #include <stdlib.h>
- char napisy[4][80] ={"Ha! To sygnal powierzchowny!\n", "Tylko proces %d smieje sie sygnalowi %d w twarz\n", "Auc - to bolalo\n", "Dobrze\n"};
- int nr_napisu=0;
- void obslugaINT(int SIG){
- printf(napisy[nr_napisu], getpid(), SIG);
- nr_napisu=((nr_napisu +1) % 4);
- if(nr_napisu == 0){
- exit(1);
- }
- }
- int main (int argc, char** argv){
- signal(SIGINT, obslugaINT);
- while (1){
- printf("czesc tu proces %d\n", getpid());
- sleep(1);
- }
- return 0;
- }
- 3.
- #include <signal.h>
- #include <stdio.h>
- #include <unistd.h>
- #include <stdlib.h>
- char napisy[4][80] ={"Ha! To sygnal powierzchowny!\n", "Tylko proces %d smieje sie sygnalowi %d w twarz\n", "Auc - to bolalo\n", "Dobrze\n"};
- int nr_napisu=0;
- void obslugaINT(int SIG){
- printf(napisy[nr_napisu], getpid(), SIG);
- nr_napisu=((nr_napisu +1) % 4);
- if(nr_napisu == 0){
- exit(1);
- }
- }
- void signalquit(int SIG){
- printf("Przywrocenie sygnalu");
- signal(SIGINT, SIG_DFL);
- }
- int main (int argc, char** argv){
- signal(SIGINT, obslugaINT);
- signal(SIGQUIT, signalquit);
- while (1){
- printf("czesc tu proces %d\n", getpid());
- sleep(1);
- }
- return 0;
- }
- 4.
- #include <signal.h>
- #include <stdio.h>
- #include <unistd.h>
- #include <stdlib.h>
- char napisy[4][80] ={"Ha! To sygnal powierzchowny!\n", "Tylko proces %d smieje sie sygnalowi %d w twarz\n", "Auc - to bolalo\n", "Dobrze\n"};
- int nr_napisu=0;
- void obslugaINT(int SIG){
- printf(napisy[nr_napisu], getpid(), SIG);
- nr_napisu=((nr_napisu +1) % 4);
- if(nr_napisu == 0){
- exit(1);
- }
- }
- void signalquit(int SIG){
- printf("Przywrocenie sygnalu\n");
- signal(SIGINT, SIG_DFL);
- }
- int main (int argc, char** argv){
- signal(SIGINT, obslugaINT);
- signal(SIGQUIT, signalquit);
- signal(SIGALRM, signalquit);
- alarm(3);
- while (1){
- printf("czesc tu proces %d\n", getpid());
- sleep(1);
- }
- return 0;
- }
- HASŁO : SystemyOperacyjne2019;-)
- 5.
- #include <signal.h>
- #include <stdio.h>
- #include <unistd.h>
- #include <stdlib.h>
- char napisy[4][80] ={"Ha! To sygnal powierzchowny!\n", "Tylko proces %d smieje sie sygnalowi %d w twarz\n", "Auc - to bolalo\n", "Dobrze\n"};
- int nr_napisu=0;
- void obslugaINT(int SIG){
- printf(napisy[nr_napisu], getpid(), SIG);
- nr_napisu=((nr_napisu +1) % 4);
- if(nr_napisu == 0){
- exit(1);
- }
- }
- void signalquit(int SIG){
- printf("Przywrocenie sygnalu\n");
- signal(SIGINT, SIG_DFL);
- }
- int main (int argc, char** argv){
- int licz = 0;
- signal(SIGINT, obslugaINT);
- signal(SIGQUIT, signalquit);
- printf("zablokowane");
- signal(SIGALRM, signalquit);
- alarm(5);
- sigset_t zbiorblok, zbior2;
- sigemptyset(&zbiorblok);
- sigemptyset(&zbior2);
- sigaddset(SIGINT, &zbiorblok);
- sigaddset(SIGQUIT, &zbiorblok);
- sigprocmask(SIG_BLOCK, &zbiorblok, NULL);
- while (1){
- printf("czesc tu proces %d\n", getpid());
- sleep(1);
- licz ++;
- if(licznik == 5){
- }
- }
- return 0;
- }
Add Comment
Please, Sign In to add comment