gpt4 book ai didi

c - 错误编译进程 SIGALRM kill

转载 作者:IT王子 更新时间:2023-10-29 01:01:58 25 4
gpt4 key购买 nike

这个程序会创建一个子进程,子进程会等待一个ALARM信号,当这个信号在3秒后到达时,f函数会抓取父进程ID,并发送一个SIGINT信号将其杀死,所以 child 将在 3 秒后杀死 parent

#include <stdio.h>
#include <unistd.h>
#include <signal.h>
#include <string.h>

void f(int sig)
{
kill(getppid(),SIGINT);
}

main()
{
int f=fork();
if(f==0)
{
signal(SIGALRM,f);
alarm(3);
}
else
{
pause();
}
}

我遇到了这个错误:

test13.c: In function ‘main’:
test13.c:16:3: warning: passing argument 2 of ‘signal’ makes pointer from integer without a cast
/usr/include/signal.h:101:23: note: expected ‘__sighandler_t’ but argument is of type ‘int’

最佳答案

停止用你的变量踩踏 f

关于c - 错误编译进程 SIGALRM kill,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10273720/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com