This commit is contained in:
MAO Dongyang 2023-03-22 16:03:42 +01:00
parent 70b475b290
commit 962ee7180e
No known key found for this signature in database
6 changed files with 68 additions and 3 deletions

View 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();
}

View File

@ -5,8 +5,7 @@
int main() int main()
{ {
pid_t fpid; pid_t fpid; // fpid表示fork函数返回的值
fpid = fork(); fpid = fork();
// create child process // create child process
if (fpid == -1) if (fpid == -1)

View 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
View 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;
}

View File

View File

@ -10,7 +10,6 @@ int main()
SCell *cell; SCell *cell;
list = CreateList(); list = CreateList();
printf("Add 5, 3, 1\n"); printf("Add 5, 3, 1\n");
AddElementBegin(list, 5); AddElementBegin(list, 5);
cell = AddElementBegin(list, 3); cell = AddElementBegin(list, 3);