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)