Wednesday, January 19, 2011

Linux - How do I see when a process started?

How can I see when a process started, assuming I know the pid. (On Linux)

  • "ps -f" - it's in the man pages

    Dennis Williamson : And to select the known pid: `ps -f -p yourpid`
    From Chopper3
  • awk '{print $22}' /proc/$pid/stat - gives you the start time in jiffies after boot

    wzzrd : Beautifully obscure answer!
    packs : Riddle me this. A system with an uptime of '17:57' has a process with a start time of '727975'. Looks like the process started 8 days from now?
    MarkR : It's actually in jiffies (100/sec)
    Dennis Williamson : Way too obscure! And besides, now you have to look up the boot time and do the math to convert jiffies to seconds and calculate the offset to get clock time. Easy, but too many steps. See Chopper3's answer.
    From James
  • one way you can ps -f |grep as you said you the pid other wise you can wise in top also

    From Rajat
  • If you want only the start time, you can select the field and suppress the header by doing this:

     ps -p YOURPID -o lstart=
    

    the output will look like this:

     Mon Dec 14 17:17:16 2009
    

    which is ctime(3) format and you can parse it to split out the relevant parts.

    Other start fields such as start, stime, bsdstart and start_time age the time (after 24 hours only the date is shown, for example).

    You can, however, use them directly for recently started processes without further parsing:

    ps -p YOURPID -o stime=
    

    which would output something like:

    09:26
    

0 comments:

Post a Comment