c文件
#include <stdio.h>
#include <unistd.h>
#include <stdlib.h>
#include <signal.h>
pid_t pid;
int counter = 1;
void handler(int sig)
{
counter -= 1;
printf("%d", counter);
fflush(stdout);
exit(0);
}
int main()
{
signal(SIGUSR1, handler);
printf("%d", counter);
fflush(stdout);
if (0 == (pid = fork())) {
while (1)
;
}
kill(pid, SIGUSR1);
waitpid(-1, NULL, 0);
counter += 1;
printf("%d\n", counter);
exit(0);
}
可是当存为cc文件编译时。报错提示waitpid未声明。加入
#include <sys/types.h>
#include <sys/wait.h>
编译通过。不知道为什么。