Command-Line
使父程序OSX的終端列印名稱
我創建了一個別名來搜尋和顯示與特定使用者帳戶關聯的所有程序,這些程序似乎在我每次登錄時都會自動啟動,大約是 15 個,並且通過消除過程我找到了父程序。基本上我希望顯示別名,只是父程序而不是整個列表,我知道我將不得不管道但除此之外我不確定。
例子:
ps -u *someuser* | grep <parent process name/PID>
編輯#1
這與我所指的程序樹並不完全相關,但我打開了一個手冊頁,以便粘貼相關的程序:
966 man pidof --- 969 sh -c (cd '/usr/local/share/man' && (echo ".ll 12.8i"; echo ".nr LL 12.8i"; /usr/bin/gunzip -c '/usr/local/share/man/ --- 970 sh -c (cd '/usr/local/share/man' && (echo ".ll 12.8i"; echo ".nr LL 12.8i"; /usr/bin/gunzip -c '/usr/local/share/man/ --- 975 sh -c (cd '/usr/local/share/man' && (echo ".ll 12.8i"; echo ".nr LL 12.8i"; /usr/bin/gunzip -c '/usr/local/share/man/ --- 977 /usr/bin/less -is` how `kill 966` kills all the rest
您可以嘗試使用 Unix 命令
pstree
來獲取樹結構中的程序名稱列表。例子
$ pstree init-+-NetworkManager-+-dhclient | `-2*[{NetworkManager}] |-abrtd |-acpid |-atd |-auditd-+-audispd-+-sedispatch | | `-{audispd} | `-{auditd} |-autossh---ssh---ssh |-avahi-daemon---avahi-daemon |-bonobo-activati---2*[{bonobo-activat}] |-chrome-+-3*[chrome] | |-chrome-sandbox---chrome-+-chrome-+-25*[chrome---3*[{chrome}]] | | | |-4*[chrome---4*[{chrome}]] | | | `-chrome---6*[{chrome}] | | `-nacl_helper_boo | `-31*[{chrome}] ... ...
如果您只想要與特定使用者相關的程序,您還可以提供使用者名。
例子
$ pstree saml autossh---ssh---ssh bonobo-activati---2*[{bonobo-activat}] chrome-+-3*[chrome] |-chrome-sandbox---chrome-+-chrome-+-25*[chrome---3*[{chrome}]] | | |-4*[chrome---4*[{chrome}]] | | `-chrome---6*[{chrome}] | `-nacl_helper_boo `-31*[{chrome}] clock-applet---{clock-applet} ... ...