【发布时间】:2010-12-21 08:24:05
【问题描述】:
我的意思是,我有一个操作系统请求,比如 kill SIG_NUMBER PID,接下来会发生什么。操作系统采取了什么行动等等。
非常感谢
【问题讨论】:
标签: unix operating-system signals
我的意思是,我有一个操作系统请求,比如 kill SIG_NUMBER PID,接下来会发生什么。操作系统采取了什么行动等等。
非常感谢
【问题讨论】:
标签: unix operating-system signals
当然取决于操作系统 - 但通常假设您有足够的权限将该信号传递给相关进程 - 然后操作系统将更改 proc 的进程状态。关注内核。这通常会导致进程的一些“生命周期”状态更改 - 即终止、终止、死亡、暂停......等等。
对内核的实际调用(取决于操作系统)将通过系统调用或通过一些适当的设备进行“ioctl”调用。
当进程轮到某个 cpu 时间时,proc 调度程序将考虑进程状态来确定下一步要做什么。在这里特意简要介绍一下,因为它涉及到很多。
我建议查看一些示例源代码——也许可以查看 Linux 发行版或 OpenSolaris(尽管这很复杂)。
此处的示例 - 警告这非常复杂。 OpenSolaris signal handling in the kernel
【讨论】: