From: Eyal Lebedinsky <eyal@eyal.emu.id.au>
To: "list, linux-kernel" <linux-kernel@vger.kernel.org>
Subject: Re: 2.4.20: problem with "ps -olstart"
Date: Sun, 30 Mar 2003 00:38:50 +1100 [thread overview]
Message-ID: <3E85A1EA.33BD604C@eyal.emu.id.au> (raw)
In-Reply-To: <20030329120928.GB12005@win.tue.nl>
Andries Brouwer wrote:
>
> On Sat, Mar 29, 2003 at 01:08:58PM +1100, Eyal Lebedinsky wrote:
>
> > I see a different start time returned on different calls. An example
> > is attached below. This is a show stopper for me. Is this a known
> > problem? Does it have a solution?
> >
> > This is vanilla (my build) 2.4.20 on i386.
> >
> > $ while true ; do ps --pid "3026" -olstart,cmd --no-headers ; done
> > Thu Mar 27 22:03:11 2003 sh
> > Thu Mar 27 22:03:11 2003 sh
> > Thu Mar 27 22:03:12 2003 sh
> > Thu Mar 27 22:03:11 2003 sh
>
> Look at your ps source. There are many incarnations of ps,
> but perhaps you'll find something like
>
> seconds_since_boot = uptime(0,0);
> seconds_since_1970 = time(NULL);
> time_of_boot = seconds_since_1970 - seconds_since_boot;
> start = time_of_boot + pp->start_time/Hertz;
>
> The interplay of rounding and truncating you see here
> results in what you see. Instead of using ps you might try
> a tiny utility that reads the start time directly.
OK, I can see how ps may be doing a bad job there. It can do
better, e.g. from I can identify a process using something like:
grep btime /proc/stat
time machine booted (secs since 1970 probably)
cut -d' ' -f22 </proc/$pid/stat
process start time (jiffies since boot)
and if I really want I can convert start_time to seconds and have
a value (the sum of the two) that does not change.
>From a user program, and not depending on /proc, I do not see
how I can access the kernel 'xtime' and 'task->start_time'.
--
Eyal Lebedinsky (eyal@eyal.emu.id.au) <http://samba.org/eyal/>
prev parent reply other threads:[~2003-03-29 13:27 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2003-03-29 2:08 Eyal Lebedinsky
2003-03-29 12:09 ` Andries Brouwer
2003-03-29 13:38 ` Eyal Lebedinsky [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=3E85A1EA.33BD604C@eyal.emu.id.au \
--to=eyal@eyal.emu.id.au \
--cc=linux-kernel@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®