2014-12-04 19:44:28

by Steven Stewart-Gallus

[permalink] [raw]
Subject: How can I parse the command name from /proc/<pid>/stat?

Hello,

Given an evil hacker trying to confuse process monitors that might use such
strange process names as 'pause) R 0 0 (foo' how can I correctly parse the
command name from /proc/<pid>/stat? Maybe I should just use /proc/<pid>/status?
Maybe there should be some documentation written on the issue? I just wanted to
send an email off to check if I was missing anything before writing a few small
additions to the documentation or filing a bug report. procps-ng seems to use an
ugly hack that involves knowing the limits on the size of a possible command
name that I'm not actually sure works totally correctly.

Thank you,
Steven Stewart-Gallus


2014-12-05 10:34:57

by Suzuki K Poulose

[permalink] [raw]
Subject: Re: How can I parse the command name from /proc/<pid>/stat?

On 04/12/14 19:44, Steven Stewart-Gallus wrote:
> Hello,
>
> Given an evil hacker trying to confuse process monitors that might use such
> strange process names as 'pause) R 0 0 (foo' how can I correctly parse the
> command name from /proc/<pid>/stat? Maybe I should just use /proc/<pid>/status?
> Maybe there should be some documentation written on the issue? I just wanted to
> send an email off to check if I was missing anything before writing a few small
> additions to the documentation or filing a bug report. procps-ng seems to use an
> ugly hack that involves knowing the limits on the size of a possible command
> name that I'm not actually sure works totally correctly.

You can do something like :

cmd_start = strchr(stat_buf, '(');
cmd_end = strrchr(stat_buf, ')');

Cheers
Suzuki


>
> Thank you,
> Steven Stewart-Gallus
> --
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" 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.tux.org/lkml/
>
>

2014-12-06 23:04:35

by Steven Stewart-Gallus

[permalink] [raw]
Subject: Re: How can I parse the command name from /proc/<pid>/stat?

Thank you, I dislike the idea of relying upon stat never gaining any other part
that uses ) but that would work instead of using status.