Program name from PID?
Guy Harris
guy at auspex.auspex.com
Mon Feb 18 10:26:54 AEST 1991
>Given a process id, how can I find out the name of the process it belongs
>to?
Others have noted various ways of fetching various information about a
process that could be considered the "name" of the process. The two
bits of information that could be considered the process's "name" are:
1) the "u_comm" field from the process's U area. This is the
first N characters of the last component of the pathname of
the last program "exec"ed by the process (or the last "#!"
script - many systems arrange that it be the name of the
script, rather than the name of the interpreter on the "#!"
line).
2) something extracted from the "command line" for the process.
On some systems, this may appear in the U area as a character
string; on other systems, it may have to be extracted from
the top of the process's stack.
In the former case, the first token in that string will be
whatever was passed as "argv[0]" when the last "exec" was
done; by convention, this is usually either the full pathname
of the last program (or #! script) "exec"ed by the process),
but it need not be - see my followup to the message here with
the subject line "Unknown process on sparc".
In the latter case, the above applies; in addition, the
process can overwrite that string with whatever it wants to,
and some programs, in fact, do so.
In other words, make sure you know what you want to do with that "name",
and make sure that the "name" you're fetching provides the information
you need....
More information about the Comp.unix.questions
mailing list