作者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/m.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