ps aux
出力に似ていますが、プロセスを表示せずにプロセスのリストを表示したいですroot
。
答え1
ps u $(pgrep -vu root)
説明する
pgrep
- プロセスを検索して数値PIDを返します。-v
- フィルタの逆数-u root
- ルートが所有するプロセスフィルタリング$(…)
- 代替ps u …
- 一連のプロセスを示すリストビュー
修正する:元の解決策は実際には他の解決策と同じであり、代わりにxargs
使用されました$(…)
。
pgrep -vu root | xargs ps u
答え2
これはFedora 35(procps-ng 3.3.17のps)で動作します。
ps u -N -u root
個人的には私はいつもそのf
ロゴを使います。出力を読みやすくします。ps fu -N -u root
答え3
これは私のDebianシステムとmacOS 10.15で動作します。おそらく少し通過この要件についてはまだ大丈夫です。適応可能その他の要件:
ps -eo pid,stat,ruser,command | awk '{ if ($3 != "root") print $0;}'
PID STAT RUSER COMMAND
312 Ssl systemd+ /lib/systemd/systemd-timesyncd
349 Ss avahi avahi-daemon: running [raspberrypi4b.local]
359 Ss nobody /usr/sbin/thd --triggers /etc/triggerhappy/triggers.d/ --socket /run/thd.socket --user nobody --deviceglob /dev/input/event*
365 Ss message+ /usr/bin/dbus-daemon --system --address=systemd: --nofork --nopidfile --systemd-activation --syslog-only
393 S avahi avahi-daemon: chroot helper
620 Ss vnstat /usr/sbin/vnstatd -n
910 Ss Debian-+ /usr/sbin/exim4 -bd -q30m
2193 R+ pi ps -eo pid,stat,ruser,command
2194 S+ pi awk { if ($3 != "root") print $0;}
# alternatively, for a more compact output:
ps -eo pid,ruser | awk '{ if ($2 != "root") print $0;}'
PID RUSER
312 systemd-timesync
349 avahi
359 nobody
365 messagebus
393 avahi
620 vnstat
910 Debian-exim
2204 pi
2205 pi
注:上記のリストは簡潔さのために除外されています。
要約:
ps -e
システムのすべてのプロセスを表示するには、次のコマンドを使用します。標準構文(aux
はいBSD構文)
ps -eo
このオプションは、-o
表示される情報を選択するためのセクションにリストされているいくつかのオプションの1つです。OUTPUT FORMAT CONTROL
man ps
ps
なぜあなたが気にしないものであなたの印刷物を乱すのですか??あなたがすべてを望むなら、ps -e
これはあなたに必要なものです。
ps -eo pid,stat,ruser,command
この-o
オプションを使用すると、1つ以上のパラメータを使用して出力パラメータを選択できます。キーワードman ps
このSTANDARD FORMAT SPECIFIERS
セクションの下にリストされています。これにはいには、ps
すべてのPID、プロセスステータス、実際のユーザーID、およびcommand
それらを生成したIDが一覧表示されます。キーワード全体のリストについては、STANDARD FORMAT SPECIFIERS
リソースセクションをもう一度参照してください。man ps
awk
すべてのユーザープロセスを簡単にフィルタリングするためのパイプですroot
。もちろん、出力の他のフィールドをフィルタリングするように簡単に変更できますps
。