Saya tahu bahwa dengan ps
saya dapat melihat daftar atau pohon dari proses saat ini berjalan di sistem. Tetapi yang ingin saya capai adalah "mengikuti" proses baru yang dibuat saat menggunakan komputer.
Sebagai analogi, ketika Anda menggunakan tail -f
untuk mengikuti konten baru yang ditambahkan ke file atau input apa pun, maka saya ingin menyimpan daftar tindak dari proses yang saat ini sedang dibuat.
Apakah ini bahkan mungkin?
bpfcc-tools
.Cara termudah adalah mengaktifkan audit panggilan sistem
Lihat tautan berikut untuk perinciannya ,
Adakah yang tahu cara sederhana untuk memantau proses root spawn | Kesalahan Server
Jika Anda memantau semua proses, hapus saja
-F uid=0
bagian ituLog ditulis untuk
/var/log/audit/audit.log
sumber
CONFIG_PROC_EVENTS=y
Sesi sampel:
CONFIG_PROC_EVENTS
memaparkan acara ke userland melalui soket netlink .proc_events.c
GitHub upsatream , kode diadaptasi dari: https://bewareofgeek.livejournal.com/2945.html
Namun saya tidak berpikir bahwa Anda dapat memperoleh data proses seperti UID dan memproses argumen karena
exec_proc_event
mengandung data yang sangat sedikit: https://github.com/torvalds/linux/blob/v4.16/include/uapi/linux/cn_proc .h # L80 Kita dapat mencoba untuk segera membacanya/proc
, tetapi ada risiko bahwa proses selesai dan yang lain mengambil PID-nya, sehingga tidak dapat diandalkan.Diuji pada Ubuntu 17.10, yang telah
CONFIG_PROC_EVENTS=y
diaktifkan secara default.sumber
Anda tampaknya dapat mengikuti proses menggunakan
strace
. Jika Anda mengetahui PID proses maka Anda dapat melakukan:Perhatikan
-f
sakelar. Ini akan membantu Anda untuk mengikuti proses yang baru dibuat yang merupakan keturunan dari proses yang PID digunakan dalam perintah di atas. Untuk informasi tentang strace lihat pertanyaan ini .sumber
Anda dapat menggunakan
forkstat
sebagaimana dinyatakan di sini: https://stackoverflow.com/a/40532202/781153Instal dengan:
apt-get install forkstat
Dan jalankan:
forkstat
sumber