linux pgrep 通过排除特定用户

linux pgrep 通过排除特定用户

pgrep我正在shell 脚本上使用命令来监视一些 java 应用程序。但是 java 的持续服务给我的代码带来了问题。该进程属于另一个用户。那么,有什么方法可以在使用 grep 时排除特定用户的进程呢?

以下是我当前使用的脚本行:

pgrep java

我需要排除特定用户的进程。请帮我修改这个脚本并获取输出。请注意,我使用的是 Solaris。

答案1

使用正则表达式-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)

相关内容