Por que pidof e pgrep estão se comportando de maneira diferente?

Eu tenho um script init /etc/init.d/myservicepara inicializar um serviço como este: ... start() { ... daemon /usr/sbin/myservice ... } stop() { ... pgrep myservice pidof myservice ps -ef | grep myservice ... } E quando tento interromper o serviço, esta é a saída: 10000 10001 10000 root...