No valor de face, eu sugeriria que algo está causando falha no memcached. E se o memcached não estiver em execução quando você tentar pará-lo, ele falhará (porque já está parado). Isso explicaria por que /etc/init.d/memcached stop
(ou a primeira parte de /etc/init.d/memcached restart
) está falhando.
Mas depois você diz que precisa executar killall memcached
para parar. Isso me sugeriria um problema com seu sistema init perdendo o controle do processo. Como não sei qual sistema de inicialização você está usando, é difícil ter certeza.
Atualmente, a maioria das distribuições usa o SystemD e eu tive alguns problemas com o Debian por causa dos problemas causados pela compatibilidade com os scripts antigos do SysVinit.
Analisando os comandos que você está usando para controlar seu serviço, você está chamando diretamente o script SysVinit, então presumo que esteja usando o SysVinit ou o SystemD com compatibilidade SysVinit.
Se você não tem nenhum SystemD, então é quase certo que algo está errado com sua configuração do initscript e / ou memcached.
Se você tiver o SystemD, provavelmente ele está sendo causado por alguns problemas de comunicação entre o seu script de inicialização e o SystemD (e também pode haver problemas de configuração do memcached). IMO, o melhor caminho para a frente, seria escrever um arquivo de serviço SystemD apropriado e usar comandos do SystemD diretamente; ou seja, systemctl COMMAND SERVICE_NAME.service
. Eles são super fáceis de escrever, o google irá ajudá-lo (tente algo como "como escrever o arquivo de serviço do systemd")