Unix按日期排序流程

时间:2014-02-03 15:36:12

标签: bash unix scripting-language

大家好,我按日期排序有麻烦,我必须保留最新的过程并杀死旧的过程

 ps -ef | grep -i my_username

然后我让我们说5或6个过程,但我不知道哪一个是最新的帮助。

3 个答案:

答案 0 :(得分:1)

如果您在Linux上执行此操作,则会按开始时间对进程进行排序:

ps -ef --sort=start_time

要获得前5名,您可以将输出传递给head

ps -ef --sort=start_time | head -n 6

我指定了6,因为顶行是标题。

对于OS X,这将为您提供前5个最古老的流程:

ps aux -O started | head -n 6

答案 1 :(得分:1)

假设您的所有流程都不超过24小时,

ps -ef | grep -i my_username |排序+4

可能就足够了

答案 2 :(得分:0)

如果这是Linux,那么您可以像这样获得流程的开始时间:

ps -u your_username -o pid,lstart,cmd

但是,由于lstart字段是日期格式的,我承认自动排序有点困难。但是如果你只关心“5或6个过程”,那么也许你可以手动完成。 :)