Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/matlab/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ssis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux 信号是如何实现的?_Linux - Fatal编程技术网

Linux 信号是如何实现的?

Linux 信号是如何实现的?,linux,Linux,如果单线程进程当前正在运行并且内核检测到信号,那么内核是否只是停止当前执行,保存指令指针的当前地址空间并运行信号处理程序。换句话说,它使用的线程与程序用来执行信号处理程序的线程相同? 如果进程是多线程的,会发生什么?如果一个程序有3个线程,其中一个线程为SIGUSR1注册信号处理程序,那么内核是否会中断已注册信号处理程序的线程,其余两个线程将继续运行?可能重复?

如果单线程进程当前正在运行并且内核检测到信号,那么内核是否只是停止当前执行,保存指令指针的当前地址空间并运行信号处理程序。换句话说,它使用的线程与程序用来执行信号处理程序的线程相同? 如果进程是多线程的,会发生什么?如果一个程序有3个线程,其中一个线程为SIGUSR1注册信号处理程序,那么内核是否会中断已注册信号处理程序的线程,其余两个线程将继续运行?

可能重复?