发送信号时机器内部会发生什么

时间:2010-12-21 08:24:06

标签: unix operating-system signals

我的意思是,我有一个操作系统的请求,比如杀死SIG_NUMBER PID,接下来会发生什么。操作系统等采取的操作是什么。

非常感谢

1 个答案:

答案 0 :(得分:1)

当然取决于操作系统 - 但通常假设您有足够的权限将该信号传递给相关进程 - 那么操作系统将改变该进程的进程状态。关注内核。这通常会导致流程的某些“生命周期”状态发生变化 - 即终止,终止,死亡,暂停......等等。

对内核的实际调用(取决于操作系统)将通过系统调用或通过某些适当的设备进行“ioctl”调用。

当进程转到某个cpu时间时,proc调度程序将考虑进程状态以确定下一步该做什么。故意在这里简要介绍它的相关内容。

我建议查看一些示例源代码 - 看一下Linux发行版或OpenSolaris(虽然这很复杂)。

此处示例 - 警告这非常复杂。 OpenSolaris signal handling in the kernel