pgrep
私はいくつかのJavaアプリケーションを監視するためにシェルスクリプトでコマンドを使用しています。しかし、Javaの継続的なサービスのために私のコードに問題が発生しました。プロセスは他のユーザーに属しています。それでは、grepを使用するときに特定のユーザーのプロセスを除外する方法はありますか?
現在使用中のスクリプト行は次のとおりです。
pgrep java
特定のユーザーのプロセスを除外する必要があります。このスクリプトを修正して出力を取得するのに役立ちます。私はSolarisを使用しています。
答え1
使用正規表現AND-u
または-U
オプション:
-u euid,...
Only match processes whose effective user ID is listed. Either the
numerical or symbolical value may be used.
-U uid,...
Only match processes whose real user ID is listed. Either the numerical
or symbolical value may be used.
したがって、次のことを試してください。
pgrep -u youruser java
ユーザーが所有するjavaという名前のすべてのプロセスが一覧表示されます。
ユーザーを除外するには、次のようにします。
grep -vxf <(pgrep -u exclude_user java) <(pgrep java)