Giám sát tất cả các quy trình mới được sinh ra trên máy Linux


12

Đôi khi một quá trình đến và đi nhanh hơn tôi có thể ps aux , tôi đã thử watch -d -n0.1 "ps aux | tail"nhưng một lần nữa, điều đó bị giới hạn ở 1/10 giây. Những gì tôi thực sự muốn là chạy một lệnh và làm theo tất cả các quy trình mới, mỗi quy trình, khi chúng sinh ra. Ngay cả các quá trình chạy nhanh. Tôi biết stracecó những khả năng tương tự như thế này nhưng tôi không thể có được nó để làm những gì tôi muốn.

tl;dr : có cách nào để ghi nhật ký tất cả các quy trình mới không?

Tôi không muốn biết nhiều, không nhiều hơn một dòng ps auxsẽ cho tôi, đối với trường hợp hiện tại tôi chỉ có một quá trình được sinh ra bởi một người khác và biến mất, tôi muốn có thể chạy nó, nhưng tôi không biết lệnh sẽ là gì Ngay cả khi biết các bộ vi xử lý mới là đủ, vì tôi có thể tìm ra một tập lệnh sẽ lấy các tập lệnh này và chạy ps | greptrên chúng và cung cấp cho tôi thêm thông tin trong khi quy trình đang chạy (giả sử hy vọng quá trình này vẫn psdiễn ra khi bắt đầu)

Câu trả lời:


7

Bạn muốn biết gì về các quá trình đó? Nếu bạn có thể kiểm soát ai sinh ra các quy trình,strace -feprocess $SHELL sẽ làm.

Nếu đó chỉ là tổng quan về dấu chân của họ, hãy sử dụng kế toán quy trình (trong gói acct gnu; sử dụng lệnh lastcomm) hoặc các công cụ cấp cao hơn như chế độ logger trên đỉnh. Trong tương lai, các công cụ như theo dõi và tủ quần áo sẽ hữu ích để có được thông tin chi tiết từ kernel.


Tôi khá chắc chắn rằng quá trình này được sinh ra bởi gnome hoặc X, hoặc một trong những quy trình lackey của họ. Tôi không thể chắc chắn mặc dù.
Vasiliy Sharapov

4
Đi với lastcommrồi.
Tobu


1

Snoopy có thể là công cụ phù hợp cho trường hợp sử dụng của bạn.

Nếu bạn cần logger đơn giản và bạn KHÔNG tìm kiếm giải pháp bảo mật / kiểm toán, thì Snoopy có thể là nó.

Tiết lộ: Người duy trì snoopy ở đây.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.