作者yshihyu (yshihyu)
看板LinuxDev
标题[问题] kernel send signal to user space
时间Tue Oct 13 20:16:50 2015
我有个需求就是 kernel 中发生某事件需要通知 user space 某个 procss
目前有两个问题
1. kernel 怎麽发 signal 通知 user space process , 有什麽 api 可以作到吗?
2. kernel 发送的 pid , 因为user space 启动的程式每次pid都不一样,
但是 process name 是固定, 有办法在kernel中透过 process name 找到对应的 pid 吗?
谢谢
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 175.182.206.224
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/LinuxDev/M.1444738614.A.5BA.html
1F:推 yvb: 1. 参见 kernel/signal.c 和 include/linux/sched.h 10/13 22:00
2F:→ yvb: 2. 使用 for_each_process 和 get_task_comm 一笔笔找... 10/13 22:01
3F:→ yshihyu: yvb 大概懂怎麽找 pid 了,, 但是signal怎麽使用可否 10/13 22:50
4F:→ yvb: 但较一般的做法是,process跟kernel注册,让kernel记住其pid... 10/13 22:50
5F:→ yvb: 另外, 也许可考虑用 Netlink / D-Bus ... 10/13 22:52
7F:→ yshihyu: 可是他好像是做成一个module 使用kill_proc_info 10/13 22:54
8F:→ yshihyu: 如果我只是在kernel 直接使用 kill_proc_info 可以吗? 10/13 22:54
9F:→ leolarrel: 我最推Netlink,其次我会选择在/proc or /sys 弄一个 10/14 10:29
10F:→ leolarrel: file,然後应用程式行程用select/poll/epoll接收通知.. 10/14 10:30