Re: /proc/${PID}/cmdline parsing

Kristof Provost <[email protected]>
Newsgroups gmane.linux.newbie
Message-ID <20100603123825.GE4720@nereid>
On 2010-06-03 12:29:29 (+0300), Mihamina Rakotomandimby <[email protected]> wrote:
> > Joel Fernandes <[email protected]> :
> >> If I launch a 
> >>  $ watch find / -type f -name 'toto'
> >> (it's a useless command just for the example)
> >> and then I get the PID of this.
> >PID of what? watch or find?
> 
> PID of "watch"
> 
> >> When I 
> >>  $ cat /proc/${PID}/cmdline
> >>  watchfind/-typef-nametoto
> >> Yes, it's the command line, but I would like to parse it, in order to
> >> display the launched executable + its arguments.
> >> How to parse it?
> >Could you be a bit more clear with your question?
> 
> I want to split "watchfind/-typef-nametoto" (the content
> of /proc/${PID}/cmdline) to get "watch find / -type f -name toto" (the
> command I issued above)
> 
> But I cannot figure out how to split it.
> Would you know another place in the system I should look at?
> 

Running 'hexdump -C /proc/2202/cmdline' produces this:

00000000  2f 73 62 69 6e 2f 67 65  74 74 79 00 33 38 34 30 |/sbin/getty.3840|
00000010  30 00 74 74 79 31 00                             |0.tty1.|
00000017

It looks like the fields are separated by 0 bytes.
You'll simply need to read the file and split on every zero byte.

Kristof

--
To unsubscribe from this list: send the line "unsubscribe linux-newbie" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.linux-learn.org/faqs
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.