Có thể nhận thông báo (qua gọi lại hoặc tương tự) khi một quy trình mới được thực thi hay không, khi nào một quá trình được đóng lại và khi trạng thái thay đổi (tức là dừng, phân trang, vv)? Trong vùng đất người dùng, sẽ dễ dàng thiết lập trình lắng nghe thư mục trên/proc.Lắng nghe các quy trình mới trong Mô-đun hạt nhân Linux
Trả lời
Bạn đã xem xét kprobes chưa? Bạn có thể sử dụng kprobes để thực hiện một hàm gọi lại khi một số mã nhân được thực thi. Ví dụ: bạn có thể thêm do_fork
kprobe để cảnh báo khi các quy trình mới được tạo như trong this example.
Tương tự, bạn có thể thêm đầu dò cho do_exit()
để bắt khi thoát khỏi quy trình.
Để thay đổi trạng thái, bạn có thể có đầu dò trở lại trên sched_switch()
và bắt khi trạng thái thay đổi. Tùy thuộc vào ứng dụng của bạn, điều này có thể thêm quá nhiều chi phí.
Nếu bạn chỉ muốn thu thập dữ liệu, thực hiện một số chế biến ánh sáng, và không tìm cách để làm nhiều hơn nữa với các mô-đun hạt nhân, systemtap có thể là một lựa chọn tốt để viết một mô-đun hạt nhân: https://sourceware.org/systemtap/documentation.html
Chi tiết trên kprobes: https://www.kernel.org/doc/Documentation/kprobes.txt
sched_switch()
systemtap dụ: https://sourceware.org/systemtap/examples/profiling/sched_switch.stp
- 1. Cách lắng nghe các nhánh mới trong hạt nhân
- 2. Linux mutexes hạt nhân
- 3. Trình lắng nghe chrome.webRequest.onAuthRequired
- 4. netlink_kernel_create không hoạt động với hạt nhân Linux mới nhất
- 5. Lập trình trình điều khiển thiết bị hạt nhân Linux
- 6. Trạng thái ngăn xếp hạt nhân của quá trình Linux khi tạo quy trình là gì?
- 7. Phát triển cho hành động "Lắng nghe" mới trong Android
- 8. Truyền DMA trong trình điều khiển hạt nhân Linux PCIE
- 9. ngăn xếp hạt nhân cho quá trình linux
- 10. Lập trình mô-đun hạt nhân Linux: makefile
- 11. về typecheck trong hạt nhân linux
- 12. Kiểu mã hóa hạt nhân Linux
- 13. Nhận quy trình người dùng pid khi viết Mô-đun hạt nhân Linux
- 14. Tắt (linux) linux từ hạt nhân-không gian
- 15. Mới đối với nhân Linux/Phát triển trình điều khiển
- 16. Khả năng tương thích của hạt nhân Linux (* .ko) giữa các hạt nhân
- 17. Khi nào sử dụng các chuỗi hạt nhân vs các giá trị gia công trong hạt nhân Linux
- 18. Lắng nghe các sự kiện như thêm các phần tử mới trong JavaScript
- 19. Hai quy trình lắng nghe cùng một cổng trong Windows 7 như thế nào?
- 20. Xem các tùy chọn cấu hình hạt nhân Linux
- 21. Các kỹ thuật gỡ lỗi hạt nhân Linux hiện tại
- 22. Tổ chức tiêu đề hạt nhân Linux
- 23. Biên dịch Lỗi hạt nhân Linux xt_CONNMARK.h
- 24. Tải mô-đun hạt nhân trong hạt nhân Android
- 25. Dải nguồn hạt nhân Linux theo .config
- 26. Chức năng aio hạt nhân linux
- 27. Lắng nghe ACTION_SCREEN_OFF
- 28. Lắng nghe tất cả các sự kiện trong Symfony 2
- 29. distro cho phát triển hạt nhân linux
- 30. Hạt nhân Linux: Static Const vs #Define
"Trong sử dụng đất, nó sẽ dễ dàng để thiết lập một người biết lắng nghe thư mục trên/proc" Trên thực tế, không, điều đó không hiệu quả. Nhưng [kết nối/proc không] (http://stackoverflow.com/questions/6075013/linux-detect-launching-of-programs). – duskwuff