On 2010-06-03 12:29:29 (+0300), Mihamina Rakotomandimby <mihamina@xxxxxxxxxx> wrote: > > Joel Fernandes <agnel.joel@xxxxxxxxx> : > >> 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 majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.linux-learn.org/faqs