This is due to the fact that some procedures of procs get the command name from /proc/<pid>/stat but not from /proc/<pid>/cmdline. As far as I know, ps and pgrep also have this bug. For example, 'ps -e' ( non-BSD stlye output) gives truncated commannd names. But if you have BSD options, you get full command name, e.g. ps x (this includes command line arguments though). With pgrep, you can only provide truncated command name as its arguments as said in its man page.
These behaviors are confusing if you do not know what the source code really does. I do not see the truncated command name advantage when the kernel provide full command name.
This is an upstream bug. Please report it to the upstream author and link the report here. Thanks.
This is due to the fact that some procedures of procs get the command name from /proc/<pid>/stat but not from /proc/< pid>/cmdline. As far as I know, ps and pgrep also have this bug. For example, 'ps -e' ( non-BSD stlye output) gives truncated commannd names. But if you have BSD options, you get full command name, e.g. ps x (this includes command line arguments though). With pgrep, you can only provide truncated command name as its arguments as said in its man page.
These behaviors are confusing if you do not know what the source code really does. I do not see the truncated command name advantage when the kernel provide full command name.
This is an upstream bug. Please report it to the upstream author and link the report here. Thanks.