我应该在终端输入什么来打印“Hi”或“Bye”?
#include <stdio.h>
#include <signal.h>
void catcher1(int signum)
{
printf("/nHi");
kill(getpid(),22);
}
void catch22(int signum)
{
printf("\nBye\n");
exit(0);
}
main()
{
signal(SIGTERM, catcher1);
signal(22, catch22);
printf("\nLook & Listen\n");
while(1);
}
答案 0 :(得分:2)
“信号是软件中断。它们用于UNIX和类UNIX操作系统(如Linux)中的进程间通信。 自20世纪70年代贝尔实验室UNIX以来,信号一直在使用,今天正由POSIX标准正式定义。 当信号发送到进程时,操作系统会中断进程执行的正常流程并传递通知。如果该进程先前已经注册了处理该特定信号的方法,则执行该例程,否则系统执行默认信号处理程序。 可以使用kill命令发送信号。“
因此,信号不是在终端中输入的东西,而是输入某些字符或命令来发送信号。