`kill(-1, ...)` is a syscall, it's not an application command.
> this is handled for the user.
And that's how - they call that syscall.
Maybe you didn't realize. Notice the parenthesis? It's a function call in a programming language. The command line program is just a passthrough to the syscall.
And when rebooting you do need the command line program, so preventing it from passing -1 through doesn't make sense either.
When logging out via the OS supplied method this is handled for the user. Why on earth would a user have to call kill -1 on logout?
My comment was from the perspective of an application developer.