その所有者とそのコマンドを与えられたプロセスのpidが必要です。ユーザーごとのプロセスを「ps -u xxx」とそのコマンドで「ps -C yyy」でフィルタリングできますが、「ps -u xxx -C yyy」を試すと、OR論理。AND論理が必要ですが、どうすれば実現できますか?
Pgrepを使用しますか?
pgrep -U xxx yyy
pid(または複数のプロセスが一致する場合はpids)のみを返します。
Grepを使用しますか?
ps -u xxx | grep yyy | grep -v grep
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)