大家好,我按日期排序有麻烦,我必须保留最新的过程并杀死旧的过程
ps -ef | grep -i my_username
然后我让我们说5或6个过程,但我不知道哪一个是最新的帮助。
答案 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个过程”,那么也许你可以手动完成。 :)