Assignment to $0 truncates process name in modern Perl
This was reported to us as Gentoo bug
https://bugs.gentoo.org/499630
but also appears as Debian bugs,
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=708945 https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=652026
The tl;dr is that Perl-5.14.0 changed the way that assignment to $0 works and it broke some monitoring tools because now they see the wrong process name. This is documented (see "Other Enhancements"),
https://perldoc.perl.org/perl5140delta.html
with (my own) emphasis on the following: The string you supply is truncated at 16 bytes; this limitation is imposed by Linux. That explains why I see "/usr/sbin/amavi" in e.g. the following,
$ sudo cat /proc/28897/stat
28897 (/usr/sbin/amavi) ...
One potential fix (if it's even possible) would be to revert to the old behavior and set argv[0] directly, to avoid prctl being called upon assignment to $0.