该命令ps -ef | grep frmweb
为我提供了一个巨大的列表,我想过滤它:
weblogic 687 80703 0 08:58 ? 00:00:03 /opt/weblogic/product/fmw/bin/frmweb webfile=HTTP-0,
weblogic 2129 80703 0 06:52 ? 00:00:51 /opt/weblogic/product/fmw/bin/frmweb webfile=HTTP-0,
weblogic 2271 80703 0 Apr08 ? 00:00:02 /opt/weblogic/product/fmw/bin/frmweb webfile=HTTP-0,
weblogic 2472 80703 0 06:52 ? 00:00:00 /opt/weblogic/product/fmw/bin/frmweb webfile=HTTP-0,
weblogic 3997 80703 0 Apr08 ? 00:00:22 /opt/weblogic/product/fmw/bin/frmweb webfile=HTTP-0,
weblogic 4504 80703 0 06:53 ? 00:00:01 /opt/weblogic/product/fmw/bin/frmweb webfile=HTTP-0,
weblogic 5513 80703 0 09:24 ? 00:00:00 /opt/weblogic/product/fmw/bin/frmweb webfile=HTTP-0,
weblogic 7147 80703 0 Apr08 ? 00:00:00 /opt/weblogic/product/fmw/bin/frmweb webfile=HTTP-0,
weblogic 10787 80703 0 Apr08 ? 00:02:16 /opt/weblogic/product/fmw/bin/frmweb webfile=HTTP-0,
weblogic 12076 80703 0 07:33 ? 00:00:01 /opt/weblogic/product/fmw/bin/frmweb webfile=HTTP-0,
weblogic 12857 80703 0 Apr08 ? 00:00:44 /opt/weblogic/product/fmw/bin/frmweb webfile=HTTP-0,
weblogic 15078 80703 0 07:35 ? 00:00:02 /opt/weblogic/product/fmw/bin/frmweb webfile=HTTP-0,
weblogic 16500 80703 0 Apr08 ? 00:00:00 /opt/weblogic/product/fmw/bin/frmweb webfile=HTTP-0,
weblogic 18923 80703 0 Apr08 ? 00:00:01 /opt/weblogic/product/fmw/bin/frmweb webfile=HTTP-0,
weblogic 20457 80703 0 Apr08 ? 00:00:20 /opt/weblogic/product/fmw/bin/frmweb webfile=HTTP-0,
weblogic 22740 80703 0 10:03 ? 00:00:00 /opt/weblogic/product/fmw/bin/frmweb webfile=HTTP-0,
weblogic 23937 80703 0 Apr08 ? 00:00:00 /opt/weblogic/product/fmw/bin/frmweb webfile=HTTP-0,simastrosay
weblogic 24175 80703 0 07:03 ? 00:00:00 /opt/weblogic/product/fmw/bin/frmweb webfile=HTTP-0,simasystady
weblogic 24242 80703 0 07:40 ? 00:00:04 /opt/weblogic/product/fmw/bin/frmweb webfile=HTTP-0,mcskaray
weblogic 24468 80703 0 Apr08 ? 00:00:00 /opt/weblogic/product/fmw/bin/frmweb webfile=HTTP-0,mmtrosay
weblogic 24476 80703 0 Apr08 ? 00:00:17 /opt/weblogic/product/fmw/bin/frmweb webfile=HTTP-0,mmtrosay
我只需要从上面的集合中获取活动时间超过 24 小时的进程。
我尝试过ps -ef --sort
选项,但无法获得确切的命令。
所需输出如下所示:
weblogic 2271 80703 0 Apr08 ? 00:00:02 /opt/weblogic/product/fmw/bin/frmweb webfile=HTTP-0,
weblogic 3997 80703 0 Apr08 ? 00:00:22 /opt/weblogic/product/fmw/bin/frmweb webfile=HTTP-0,
weblogic 7147 80703 0 Apr08 ? 00:00:00 /opt/weblogic/product/fmw/bin/frmweb webfile=HTTP-0,
weblogic 10787 80703 0 Apr08 ? 00:02:16 /opt/weblogic/product/fmw/bin/frmweb webfile=HTTP-0,
weblogic 12857 80703 0 Apr08 ? 00:00:44 /opt/weblogic/product/fmw/bin/frmweb webfile=HTTP-0,
weblogic 16500 80703 0 Apr08 ? 00:00:00 /opt/weblogic/product/fmw/bin/frmweb webfile=HTTP-0,
weblogic 18923 80703 0 Apr08 ? 00:00:01 /opt/weblogic/product/fmw/bin/frmweb webfile=HTTP-0,
weblogic 20457 80703 0 Apr08 ? 00:00:20 /opt/weblogic/product/fmw/bin/frmweb webfile=HTTP-0,
weblogic 23937 80703 0 Apr08 ? 00:00:00 /opt/weblogic/product/fmw/bin/frmweb webfile=HTTP-0,simastrosay
weblogic 24468 80703 0 Apr08 ? 00:00:00 /opt/weblogic/product/fmw/bin/frmweb webfile=HTTP-0,mmtrosay
weblogic 24476 80703 0 Apr08 ? 00:00:17 /opt/weblogic/product/fmw/bin/frmweb webfile=HTTP-0,mmtrosay
我需要确切的命令。
答案1
您可以尝试仅过滤第 5 小时:分钟列中没有的行(这意味着它们早于 24 小时)
ps -ef | grep frmweb|awk '$5 !~ ":" {print}'
正如评论中所建议的 grep 可以省略
ps -ef | awk '/frmweb/ && $5 !~ ":" {print}'
答案2
ps -eo bsdstart,pid,cmd | grep frmweb | grep -v '^[ 0-9]'
正在给出准确的结果。