I am familiar with kill command , and most of the time we just use kill -9 to kill a process forcefully, there are many other signals that can be used with kill. But I wonder what are the use cases of pkill and killall, if there is already a kill command.
Do pkill and killall use the kill command in their implementation? I mean they are just wrappers over kill or they have their own implementation?
I would also like to know how pgrep command gets the process id from the process name.
Do all these commands use the same underlying system calls? Is there any difference from a performance point of view, which one is faster?