Text-Processing

ps –sort:列出活動超過 24 小時的程序

  • April 17, 2019

該命令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

我需要確切的命令。

您可以嘗試僅過濾 5 小時:分鐘列中沒有的行(這意味著它們早於 24 小時)

ps -ef | grep frmweb|awk '$5 !~ ":" {print}'

正如評論中建議的那樣,grep 可以省略

ps -ef | awk '/frmweb/ && $5 !~ ":" {print}'
ps -eo bsdstart,pid,cmd | grep frmweb | grep -v '^[ 0-9]'

給出確切的結果。

引用自:https://unix.stackexchange.com/questions/511409