Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/security/4.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
Signals 是否可以截获到另一进程的信号?_Signals_Posix_Freebsd - Fatal编程技术网

Signals 是否可以截获到另一进程的信号?

Signals 是否可以截获到另一进程的信号?,signals,posix,freebsd,Signals,Posix,Freebsd,是否可以在到达另一个进程(我不是父进程)的过程中捕获一个信号,并调用一个本地函数?特别是当用户向特定进程发送SIGINFO时,我希望捕获它并发送不同的信号。 这可能吗?我必须使用ktrace/ptrace吗?我是否需要与lldb的行为类似地向其“附加调试器”?如果您想从userland执行此操作,那么是的,您必须使用并实现调试器功能的子集。也就是说,您需要拥有适当的权限来附加到进程、截取信号、可能读取和修改寄存器以更改信号编号等 另一个选择是对内核进行更改,并在那里实现所需的功能。这样就不必使用

是否可以在到达另一个进程(我不是父进程)的过程中捕获一个信号,并调用一个本地函数?特别是当用户向特定进程发送SIGINFO时,我希望捕获它并发送不同的信号。
这可能吗?我必须使用ktrace/ptrace吗?我是否需要与lldb的行为类似地向其“附加调试器”?

如果您想从userland执行此操作,那么是的,您必须使用并实现调试器功能的子集。也就是说,您需要拥有适当的权限来附加到进程、截取信号、可能读取和修改寄存器以更改信号编号等

另一个选择是对内核进行更改,并在那里实现所需的功能。这样就不必使用ptrace,但缺点是需要一个自定义内核