首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何获取长时间运行的Linux进程的开始时间?

如何获取长时间运行的Linux进程的开始时间?
EN

Stack Overflow用户
提问于 2011-04-20 21:38:28
回答 6查看 244.7K关注 0票数 309

有没有可能得到一个旧的运行进程的开始时间?如果不是今天开始,ps似乎会报告日期(而不是时间),如果不是今年开始,则只会报告年份。对于旧的流程来说,精确度会永远消失吗?

EN

回答 6

Stack Overflow用户

回答已采纳

发布于 2011-04-20 21:43:48

您可以指定格式化程序并使用lstart,如以下命令所示:

ps -eo pid,lstart,cmd

上面的命令将输出所有进程,并使用格式化程序获取PID、运行命令并启动date+time。

示例(来自Debian/Jessie命令行)

$ ps -eo pid,lstart,cmd
  PID CMD                                          STARTED
    1 Tue Jun  7 01:29:38 2016 /sbin/init                  
    2 Tue Jun  7 01:29:38 2016 [kthreadd]                  
    3 Tue Jun  7 01:29:38 2016 [ksoftirqd/0]               
    5 Tue Jun  7 01:29:38 2016 [kworker/0:0H]              
    7 Tue Jun  7 01:29:38 2016 [rcu_sched]                 
    8 Tue Jun  7 01:29:38 2016 [rcu_bh]                    
    9 Tue Jun  7 01:29:38 2016 [migration/0]               
   10 Tue Jun  7 01:29:38 2016 [kdevtmpfs]                 
   11 Tue Jun  7 01:29:38 2016 [netns]                     
  277 Tue Jun  7 01:29:38 2016 [writeback]                 
  279 Tue Jun  7 01:29:38 2016 [crypto]                    
      ...

您可以阅读ps的手册页或其他格式化程序的check Opengroup's page

票数 477
EN

Stack Overflow用户

发布于 2014-03-09 06:16:22

ps命令(至少是许多Linux发行版使用的procps版本)有许多与进程开始时间相关的格式字段,包括lstart,它总是给出进程开始的完整日期和时间:

# ps -p 1 -wo pid,lstart,cmd
  PID                  STARTED CMD
    1 Mon Dec 23 00:31:43 2013 /sbin/init

# ps -p 1 -p $$ -wo user,pid,%cpu,%mem,vsz,rss,tty,stat,lstart,cmd
USER       PID %CPU %MEM    VSZ   RSS TT       STAT                  STARTED CMD
root         1  0.0  0.1   2800  1152 ?        Ss   Mon Dec 23 00:31:44 2013 /sbin/init
root      5151  0.3  0.1   4732  1980 pts/2    S    Sat Mar  8 16:50:47 2014 bash

有关如何在/proc文件系统中发布信息的讨论,请参见https://unix.stackexchange.com/questions/7870/how-to-check-how-long-a-process-has-been-running

(根据我在Linux上的经验,/proc/目录上的时间戳似乎与最近访问虚拟目录的某个时刻有关,而不是与进程的开始时间相关:

# date; ls -ld /proc/1 /proc/$$ 
Sat Mar  8 17:14:21 EST 2014
dr-xr-xr-x 7 root root 0 2014-03-08 16:50 /proc/1
dr-xr-xr-x 7 root root 0 2014-03-08 16:51 /proc/5151

请注意,在本例中,我在16:50左右运行了"ps -p 1“命令,然后生成了一个新的bash shell,不久之后在该shell中运行了"ps -p 1 -p $$”命令……)

票数 44
EN

Stack Overflow用户

发布于 2011-04-20 21:45:08

ls -ltrh /proc | grep YOUR-PID-HERE

例如,我的Google Chrome的PID是11583:

ls -l /proc | grep 11583
dr-xr-xr-x  7 adam       adam                     0 2011-04-20 16:34 11583
票数 17
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5731234

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档