所以我正在尝试开发一个脚本来查找特定进程,并杀死运行时间最长的进程。试图按经过时间对命令进行排序正在成为问题。这是我正在运行的命令,我知道有很多 | 并且可能更清楚为什么要这样做,但我对使用awk还很陌生。
ps -eo pid,cmd,stat,etime --sort=etime | grep cassi32 | awk '$3 == "/rESTECH"' | awk '$4 == "S"'
Run Code Online (Sandbox Code Playgroud)
我得到的输出是这个。
5703 cassi32 /rESTECH S 00:40
65504 cassi32 /rESTECH S 1-21:45:39
65520 cassi32 /rESTECH S 03:21:39
65521 cassi32 /rESTECH S 3-15:02:37
65531 cassi32 /rESTECH S 1-21:44:39
Run Code Online (Sandbox Code Playgroud)
如您所见,etime 列似乎没有任何特定顺序,而是按 PID 排序。
关于如何按 etime 进行排序的任何想法。一旦完成,我可以处理杀死部分。