Linuxのpsコマンドの出力をユーザーのANDコマンドでフィルタリングできますか?


8

その所有者とそのコマンドを与えられたプロセスのpidが必要です。ユーザーごとのプロセスを「ps -u xxx」とそのコマンドで「ps -C yyy」でフィルタリングできますが、「ps -u xxx -C yyy」を試すと、ORロジックを使用して結合されます。ANDロジックが必要です。どうすればこれを達成できますか?

回答:




2

comm両方の条件に共通するPIDを見つけるために使用します。

ps -u xxx | sort > /tmp/ps-uxxx
ps -C yyy | sort > /tmp/ps-Cyyy
comm -1 -2 /tmp/ps-uxxx /tmp/ps-Cyyy

bashを使用すると、プロセス置換を使用して一時ファイルの必要性を回避できます。

comm -1 -2 <(ps -u xxx | sort) <(ps -C yyy | sort)

よろしくお願いします。...しかし、簡単な方法はありません(pgrepを使用しないと、これは私のコンテキストでは使用できないため)?
guettli 2017

これについて何が難しいのですか?
GargantuChet 2017年

私は何をしているのか知ってcommいます。しかし、私はそれを年に一度だけ使用します。私には直感的ではありません。毎日使っている人なら誰でもこれが違うと思うでしょう。pgrepが存在する正当な理由があります。残念ながら、私のコンテキストではpgrepは使用できません....しかし、現在は解決されています。問題の根本は(私の見解によれば)、pgrepなしで非常に古いオペレーティングシステムをサポートする必要があるということです。
guettli 2017年
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.