Есть ли способ, который я могу использовать,
ps aux
чтобы увидеть, какой процесс запуска его породил?
Если вы используете ps -ef
, первые 3 записи в каждой строке сообщают вам UID, PID и Parent PID процесса. Вот пример:
$ ps -ef|head -2 UID PID PPID C STIME TTY TIME CMD 0 1 0 0 30May16 ?? 25:05.63 /sbin/launchd
Между этими тремя вы должны быть в состоянии выяснить источник процесса, который вы ищете. Вот довольно очевидный пример, на который я смотрю softwareupdated
(демон softwareupdate
):
Сначала я ищу процесс, а затем подтверждаю его, используя ps -ef <some_PID>
. У меня появилась привычка прекращать поиски, grep -v grep
чтобы исключить grep из моих результатов
$ ps -ef|grep softwareupdated|grep -v grep 200 3711 1 0 30May16 ?? 6:45.49 /System/Library/CoreServices/Software Update.app/Contents/Resources/softwareupdated $ ps -ef 3711 UID PID PPID C STIME TTY TIME CMD 200 3711 1 0 30May16 ?? 6:45.49 /System/Library/CoreServices/Software Update.app/Contents/Resources/softwareupdated
Родительский PID пронумерован, 1
поэтому я проверяю, что:
$ ps -ef 1 UID PID PPID C STIME TTY TIME CMD 0 1 0 0 30May16 ?? 25:08.24 /sbin/launchd