ps --sort:列出活动超过 24 小时的进程

ps --sort:列出活动超过 24 小时的进程

该命令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]'

正在给出准确的结果。

相关内容