Vamos primeiro definir os programas específicos: startproc
startproc: startproc and the LSB variant start_daemon check for all processes of the specified executable and starts it if no processes are found. startproc does not use the pid to search for a process but the full path of the corresponding program which is used to identify the executable
killproc sends signals to all processes that use the specified executable. If no signal name is specified, the signal SIGTERM is sent. killproc does not use the pid to send a signal to a process but the full path of the corresponding program which is used to identify the executable
checkproc checks for running processes that use the specified executable. checkproc does not use the pid to verify a process but the full path of the corresponding program which is used to identify the executable.
bom, sudo, durma, não faça nada relacionado aos programas acima.
Claro que você poderia fazer a mesma lógica de kill / start / checkproc em qualquer linguagem de script (bash por exemplo) ou outra linguagem compilada. Mas a finalidade desses programas é oferecer essa funcionalidade a todos os usuários que precisam dela, para que eles não precisem se preocupar em escrever / reescrever a mesma lógica em diferentes distribuições e sistemas operacionais diferentes.