我想做的是,当我的程序接收到SIGSTOP时,它应该向自己发送SIGCONT。如果我在终端上做,它是有效的,但我想在我的程序中做。我试过这样的东西,但不管用。。
你能帮我吗?
int main()
{
pid_t pid;
pid = fork();
if(pid > 0)
{
int i = 0;
while(1)
{
if(i == 5)
{
kill(getpid(), SIGSTOP);
}
printf("i = %dn" ,i);
i++;
sleep(1);
}
}
if(pid == 0)
{
while(1)
{
kill(getpid(), SIGCONT);
}
}
return 0 ;
}
您混淆了哪个PID是哪个。子级正在向自己发送SIGCONT,由于它已经在运行,所以它什么也不做。让它改为发送父SIGCONT。