Linux kernel 如何使用进程的pid从内核内部(而不是从用户空间)向进程发送信号

Linux kernel 如何使用进程的pid从内核内部(而不是从用户空间)向进程发送信号,linux-kernel,kernel,signals,kill-process,Linux Kernel,Kernel,Signals,Kill Process,我正在编写一个新的系统调用,其中我希望向刚刚创建的进程发送一个kill(pid,SIGSTOP)信号,以便将其从runqueue移动到waitqueue。然后,我可以使用kill(pid,SIGCONT)再次唤醒它 问题是kill仅从用户空间使用,如何从内核内部发送信号?是否有可以这样做的等效函数? 我找到了kill_-pid,但我不知道它的头应该如何包含。似乎您找到了从内核空间向进程发送信号的正确方法-kill_-pid,它也被导出,这意味着内核模块可以使用它。 使用elixir-让我们看看一

我正在编写一个新的系统调用,其中我希望向刚刚创建的进程发送一个kill(pid,SIGSTOP)信号,以便将其从runqueue移动到waitqueue。然后,我可以使用kill(pid,SIGCONT)再次唤醒它

问题是kill仅从用户空间使用,如何从内核内部发送信号?是否有可以这样做的等效函数?
我找到了kill_-pid,但我不知道它的头应该如何包含。

似乎您找到了从内核空间向进程发送信号的正确方法-
kill_-pid
,它也被导出,这意味着内核模块可以使用它。
使用elixir-让我们看看一些用法-这显示了符号是在哪个头文件中定义的-因此您应该从包含
sched/signal.h
开始,并为您可能具有的任何其他依赖项执行此过程

信号可以随时生成,但仅在计划进程时传递,而不是在运行时。有关详细信息,请参阅。