SIGNAL
This commit is contained in:
parent
70b475b290
commit
962ee7180e
23
System2/catch_signal/main.c
Normal file
23
System2/catch_signal/main.c
Normal file
@ -0,0 +1,23 @@
|
||||
#include <stdio.h>
|
||||
#include <signal.h>
|
||||
#include <unistd.h>
|
||||
|
||||
void sig_usr(int signo)
|
||||
{
|
||||
if (signo == SIGUSR1)
|
||||
printf("received SIGUSR1\n");
|
||||
else if (signo == SIGUSR2)
|
||||
printf("received SIGUSR2\n");
|
||||
else
|
||||
printf("received signal %d\n", signo);
|
||||
}
|
||||
|
||||
int main(void)
|
||||
{
|
||||
if (signal(SIGUSR1, sig_usr) == SIG_ERR)
|
||||
printf("can't catch SIGUSR1\n");
|
||||
if (signal(SIGUSR2, sig_usr) == SIG_ERR)
|
||||
printf("can't catch SIGUSR2\n");
|
||||
for (;;)
|
||||
pause();
|
||||
}
|
@ -5,8 +5,7 @@
|
||||
|
||||
int main()
|
||||
{
|
||||
pid_t fpid;
|
||||
|
||||
pid_t fpid; // fpid表示fork函数返回的值
|
||||
fpid = fork();
|
||||
// create child process
|
||||
if (fpid == -1)
|
||||
|
21
System2/example_alarm/main.c
Normal file
21
System2/example_alarm/main.c
Normal file
@ -0,0 +1,21 @@
|
||||
#include <stdio.h>
|
||||
#include <signal.h>
|
||||
#include <unistd.h>
|
||||
|
||||
void sig_handler(int signo)
|
||||
{
|
||||
printf("in handler\n");
|
||||
}
|
||||
|
||||
int main()
|
||||
{
|
||||
signal(SIGALRM, sig_handler);
|
||||
alarm(5);
|
||||
for (size_t i = 0; i < 30; i++)
|
||||
{
|
||||
|
||||
printf("i = %d, In main\n", i);
|
||||
sleep(1);
|
||||
}
|
||||
return 0;
|
||||
}
|
23
System2/sendToFile/main.c
Normal file
23
System2/sendToFile/main.c
Normal file
@ -0,0 +1,23 @@
|
||||
#include <stdio.h>
|
||||
#include <signal.h>
|
||||
#include <unistd.h>
|
||||
|
||||
void handler(int signum)
|
||||
{
|
||||
FILE *fp;
|
||||
fp = fopen("test.txt", "w");
|
||||
fprintf(fp, "coucou, je suis bien en vie!\n");
|
||||
fclose(fp);
|
||||
}
|
||||
|
||||
int main()
|
||||
{
|
||||
signal(SIGUSR1, handler);
|
||||
for (size_t i = 0; i < 30; i++)
|
||||
{
|
||||
|
||||
printf("i = %d, In main\n", i);
|
||||
sleep(1);
|
||||
}
|
||||
return 0;
|
||||
}
|
0
System2/sendToFile/test.txt
Normal file
0
System2/sendToFile/test.txt
Normal file
@ -10,7 +10,6 @@ int main()
|
||||
SCell *cell;
|
||||
|
||||
list = CreateList();
|
||||
|
||||
printf("Add 5, 3, 1\n");
|
||||
AddElementBegin(list, 5);
|
||||
cell = AddElementBegin(list, 3);
|
||||
|
Loading…
x
Reference in New Issue
Block a user