gpt4 book ai didi

c - 是否可以终止不响应信号的程序?

转载 作者:太空宇宙 更新时间:2023-11-04 07:09:58 24 4
gpt4 key购买 nike

考虑这段代码

#include <stdio.h>
#include <stdlib.h>
#include <signal.h>

void sig_handler(int signum)
{
printf("Received signal %d\n", signum);
}

int main()
{
signal(SIGINT, sig_handler);
signal(SIGTERM, sig_handler);
signal(SIGHUP, sig_handler);
signal(SIGQUIT, sig_handler);
signal(SIGABRT, sig_handler);
signal(SIGILL, sig_handler);
signal(SIGKILL, sig_handler);
signal(SIGFPE, sig_handler);
signal(SIGSEGV, sig_handler);
signal(SIGPIPE, sig_handler);
signal(SIGALRM, sig_handler);
signal(SIGCHLD, sig_handler);
signal(SIGUSR1, sig_handler);
signal(SIGUSR2, sig_handler);
signal(SIGSTOP, sig_handler);
sleep(10);
return 0;
}

它处理所有可能的信号。我们不能使用 killall program_name 终止这个程序。

是否可以在不重启计算机的情况下终止它,如何终止?

最佳答案

如评论中所述,答案是否定的,您无法构建这样的程序。标准 ( The Open Group Base Specifications Issue 7 ) 列出了这些不可忽略的信号:

  • SIGKILL
  • 信号停止

关于c - 是否可以终止不响应信号的程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29185047/

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