非常に明白なものが欠けているようですが、まだ次のようになります。
ps -f -u myuser --ppid 1
プロセスの親pidのみを見て、ユーザーが1でない場合でも、親pidが1のすべてのプロセスを返すようですmyuser
。
単独でうまく機能します-u
(選択したプロセスのみmyuser
):
ps -f -u myuser
私は何を見逃していますか?複数の基準でフィルタリングできる組み込み方法はありますかps
?
編集する: 私の現在の解決策:
ps -f -p $(join <(ps h --ppid 1 -o pid | sort) <(ps h -u myuser -o pid | sort))
ベストアンサー1
ps
それは迷惑です。幸いなことに、pgrep
同様の選択肢がありますが、すべて一致する必要があり、一致するpidを出力することがあります。デフォルトでは1行に1つずつ出力されますが、使用できるように別の区切り文字を要求できますps
。
ps -f -p"$(pgrep -d, -u $USER -P 1)"