Wiem, że dzięki ps
mogę zobaczyć listę lub drzewo bieżących procesów uruchomionych w systemie. Ale chcę osiągnąć „śledzenie” nowych procesów tworzonych podczas korzystania z komputera.
Analogicznie, gdy używasz tail -f
do śledzenia nowej zawartości dołączonej do pliku lub dowolnego wejścia, chcę zachować listę śledzenia procesu, który jest obecnie tworzony.
Czy to w ogóle możliwe?
bpfcc-tools
.Najprostszym sposobem jest włączenie kontroli połączeń systemowych
Zobacz poniższy link, aby uzyskać szczegółowe informacje,
Czy ktoś zna prosty sposób monitorowania odradzania procesu rootowania Błąd serwera
Jeśli monitorujesz wszystkie procesy, po prostu usuń
-F uid=0
częśćDzienniki są zapisywane do
/var/log/audit/audit.log
źródło
CONFIG_PROC_EVENTS=y
Przykładowa sesja:
CONFIG_PROC_EVENTS
udostępnia zdarzenia do użytkownika przez gniazdo netlink .proc_events.c
Upitream GitHub , kod dostosowany z: https://bewareofgeek.livejournal.com/2945.html
Nie sądzę jednak, aby można było uzyskać dane procesowe, takie jak UID i argumenty procesowe, ponieważ
exec_proc_event
zawiera tak mało danych: https://github.com/torvalds/linux/blob/v4.16/include/uapi/linux/cn_proc .h # L80 Moglibyśmy spróbować natychmiast odczytać go/proc
, ale istnieje ryzyko, że proces się skończy, a inny przejmie PID, więc nie byłby niezawodny.Testowany na Ubuntu 17.10, który jest
CONFIG_PROC_EVENTS=y
domyślnie włączony.źródło
Najwyraźniej możesz śledzić proces za pomocą
strace
. Jeśli znasz PID procesu, możesz:Zwróć uwagę na
-f
przełącznik. Pomoże ci to śledzić nowo utworzone procesy, które są potomkami procesu, którego PID użyto w powyższym poleceniu. Aby uzyskać informacje na temat strace, zobacz to pytanie.źródło
Możesz użyć,
forkstat
jak podano tutaj: https://stackoverflow.com/a/40532202/781153Zainstaluj za pomocą:
apt-get install forkstat
I po prostu uruchom:
forkstat
źródło