2015-06-03 14 views
7

hạt nhân: 3.4+Cách lắng nghe các nhánh mới trong hạt nhân

Có ai biết cách nào khác ngoài việc sử dụng trình kết nối sự kiện quá trình hạt nhân để "lắng nghe" các nhánh mới.

Tôi muốn được thông báo đơn giản trong mô-đun của mình mỗi lần một tác vụ mới (quá trình) được tạo.

+4

Tôi không hiểu tại sao pnotify (http://lwn.net/Articles/153187/) không bao giờ được đưa vào hạt nhân, điều đó sẽ hoàn hảo! –

Trả lời

1

Bạn có thể thử sử dụng LSM hook để thực hiện việc này. Hàm bạn muốn triển khai là security_task_create

+0

sẽ đòi hỏi phải tạo ra một mô-đun LSM tối thiểu, có hiệu lực thay thế mô-đun DAC hoặc selinux LSM mặc định. Tôi không muốn thay thế mô-đun LSM mặc định chỉ với mục đích hooking ... –

1

Tôi không biết trạng thái của SystemTap nhưng tôi nghĩ bạn có thể thực hiện theo dõi ranh giới hàm như DTrace trên Solaris bằng SystemTap. Bạn sẽ cần phải biết chức năng hạt nhân Linux để theo dõi mặc dù, nhưng đó là phần đơn giản hơn tôi đoán.

+0

"SystemTap cung cấp cơ sở hạ tầng phần mềm miễn phí (GPL) để đơn giản hóa việc thu thập thông tin về hệ điều hành Linux đang hoạt động. " Tôi không xem xét khắc phục sự cố nhưng thay vì thông tin thời gian chạy trong mô-đun của mình để tôi có thể hành động theo nó. –

+0

Yêu cầu của bạn có nằm trong danh mục "thu thập thông tin về hệ thống Linux đang chạy" không? Tôi biết một thực tế là SystemTap thiếu thông minh/năng lực để buộc bạn phải sử dụng thông tin này để khắc phục sự cố một mình;) – pavan

+0

nó chỉ trông với tôi nó có thể là một cái búa quá lớn cho con muỗi này ... –

0

Có một vài hacks bạn có thể sử dụng để giải quyết vấn đề này.

Bạn có thể móc mục nhập bảng syscall có liên quan, thay thế sys_fork bằng mã của bạn và gọi sys_fork gốc.

Nếu không, bạn có thể tự móc sys_fork.

Các vấn đề liên quan