in reply to Proc::ProcessTable truncating cmndline and fname
Does ps(1) also truncate at the same points? The kernel might only store so many characters or the regular API for retrieving process information only return a fixed-width field.
While looking up CPAN docs for Proc::ProcessTable, I found P9Y::ProcessTable, which seems to be a pure-Perl attempt at a similar module. Reading its code suggests that Solaris puts the command line and the filename in fixed-width fields in a "psinfo" file. I suspect that ps(1) will have the same problem and that you have encountered kernel limitations on Solaris and HP-UX.
Further digging into the Proc::ProcessTable source shows that the HP-UX and Solaris ports more-or-less directly return information from the kernel. Unless there are other ways to get the command line and filename, I think that you are stuck.
Look around in /proc/<PID>. On Linux, for example, the overall process status file contains only a command name, but the entire argv array is in cmdline.
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re^2: Proc::ProcessTable truncating cmndline and fname
by rgren925 (Beadle) on Feb 12, 2016 at 04:37 UTC | |
by jcb (Parson) on Feb 13, 2016 at 03:49 UTC |