Hi Jan,
  The issue is that the command name is increasing in length in the kernel.
So the utilities needed to increase their command name length as well.

ps -o comm <PID>

Would show you the field it's trying to match against and unless you have a
very recent kernel it will be truncated to 16 characters.

However leaving psmisc alone is not the answer either because when you do
eventually get a newer kernel, the matching will fail again because you
will have no way of specifying names longer than 16 characters.

Strictly speaking killall is working correctly. You're specifying a name
longer than 16 characters and the process command name is trucated to 16
characters so it's not a match. It is a bit annoying and unexpected though.

An idea I have been toying with is to check if the command name are exactly
16 characters and the given name is 16 characters or more and match the
first 16 as well.

That way it's going to sort of conditionally work like before. I'll need to
think about false positives and the most efficient way of doing it but that
could solve things I think.

 - Craig

-- 
Craig Small             https://dropbear.xyz/     csmall at : dropbear.xyz
Debian GNU/Linux        https://www.debian.org/   csmall at : debian.org
Mastodon: @smalls...@social.dropbear.xyz             Twitter: @smallsees
GPG fingerprint:      5D2F B320 B825 D939 04D2  0519 3938 F96B DF50 FEA5

Reply via email to