Not getting full process name in psinfo_t struct\'s field pr_fname while reading process info from psinfo data file(/proc/%d/psinfo) into struct psinfo_t from procfs.h in solari
The pr_fname
field of the psinfo_t
structure is 16 bytes long, per the source code:
#define PRFNSZ 16 /* Maximum size of execed filename */
So it will in fact be truncated to a maximum of 15 characters.
You can get the the name of the actual binary file from /proc/PID/map
. For a 32-bit process the exec'd binary will be mapped at address 0x00010000
.
You can browse the source code for ps
at http://src.illumos.org/source/xref/illumos-gate/usr/src/cmd/ps/ if you want to see where it finds its data.