Điểm:0

Làm cách nào để biết chương trình nào được thực thi thông qua PID đã kết thúc

lá cờ ru
leo

Tôi thấy có một chương trình thường xuyên giết Apache của tôi, theo thông tin nhật ký, tôi biết có một chương trình sử dụng "/etc/init.d/apache2 stop" để dừng apache, vì quá trình này không còn nữa, làm cách nào để tìm ra PID này thuộc về chương trình nào?

tạp chíctl -o dài dòng _PID=16630
-- Nhật ký bắt đầu vào Thứ Năm 2021-10-28 ... 
    [s=b8b9ba8c0b3a434ab134b8e39ad9a421;...]
    HỆ THỐNG_FACILITY=3
    ƯU TIÊN=6
    _UID=0
    _GID=0
    _SYSTEMD_SLICE=system.slice
    _BOOT_ID=dac5e28c70d04920ad8b140efa
    _MACHINE_ID=b66fd2c1b04547d4b1471c0e
    _HOSTNAME=máy chủ
    _CAP_EFFECTIVE=3fffffffff
    _TRANSPORT=stdout
    _CMDLINE=/bin/sh /etc/init.d/apache2 dừng lại
    _EXE=/bin/dấu gạch ngang
    HỆ THỐNG_IDENTIFIER=Apache2
    _COMM=Apache2
    _SYSTEMD_UNIT=apache2.service
    MESSAGE= * Dừng máy chủ web Apache httpd apache2
Điểm:0
lá cờ us

bạn nên kiểm tra dmesg cho đầu ra hạt nhân. Thủ phạm có khả năng là trình xử lý Hết bộ nhớ nhân, chọn một quy trình và kết thúc nó khi có áp lực bộ nhớ hệ thống.

Sự kiện này được ghi vào nhật ký hạt nhân được hiển thị bởi dmesg.

Điểm:0
lá cờ bd

Khi một quá trình kết thúc, tất cả thông tin về nó sẽ biến mất ngoại trừ những gì đã được ghi lại trong khi nó đang chạy. Thông tin bạn đang tìm kiếm (lệnh nào đã chạy với PID đó) đơn giản là không còn tồn tại nữa.

Cơ hội duy nhất của bạn là đăng nhập thông tin trong khi quá trình vẫn chạy. Nếu bạn chắc chắn việc giết người xảy ra bằng cách thực hiện lệnh /etc/init.d/apache2 dừng lại thì một con đường sẽ là thêm ghi nhật ký vào tập lệnh /etc/init.d/apache2. Chỉ cần chèn một dòng như

 /bin/ps axf >> /tmp/apachekillertracker.log

ở đâu đó gần phần đầu của tập lệnh có thể đã thực hiện thủ thuật vì nó sẽ chuyển cây quy trình sang /tmp/apachekillertracker.log mỗi lần /etc/init.d/apache2 được chạy để bạn kiểm tra sau.

Nếu hóa ra việc giết chóc không được thực hiện thông qua /etc/init.d/apache2 sau tất cả thì bạn có thể nhìn vào quá trình kế toán để tìm ra thứ gì đang chạy vào thời điểm vụ giết người xảy ra.

leo avatar
lá cờ ru
leo
Cảm ơn bạn, Tillman!

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.