Squid: "ERROR: no running copy" [Resolvido]

Publicado por Jeferson R. Costa em 12/02/2014

[ Hits: 23.305 ]

Blog: http://www.jefersonrc.com.br/

 


Squid: "ERROR: no running copy" [Resolvido]



Na dica de hoje, vou mostrar como resolver um problema que pode ser um pouco preocupante, para quem trabalha com o Squid.

O problema, é que quando vamos usar alguma ferramenta do Squid, como por exemplo, recarregar as configurações com o comando squid -k reconfigure, o resultado será o erro no console:
Squid: ERROR: no running copy

Além disso, outro problema, é que o Squid não aplica as regras que são necessárias, por exemplo, não bloqueia os sites que deveria bloquear.

Como a maioria dos serviços o Squid armazena o PID do seu processo principal (o Squid executa geralmente em dois processos) em um arquivo, que é setado no squid.conf através do parâmetro pid_filename, e geralmente fica em /var/run/squid.pid.

Esse arquivo é atualizado com o PID, sempre que o serviço é iniciado ou reiniciado. O problema é que, em alguns momentos, pode acontecer do Squid ser finalizado incorretamente, seja intencional ou não, e nestes casos, pode acontecer de o arquivo não ser atualizado com o PID atual do processo, deixando o serviço perdido.

Bom, sabendo qual é o problema, você, provavelmente, já pensou na solução (atualizar o arquivo com o PID atual), uma vez que reiniciar o Squid não resolverá o problema, e é isso que vou mostrar aqui.

Para pegarmos o PID do processo atual, devemos rodar o seguinte comando:

ps aux | grep -i squid

A saída será mais ou menos assim:
root       405  0.0  0.0   6028   684 pts/0    S+   20:53   0:00 grep -i squid
root      2911  0.0  0.0  51700  6340 ?        Ss   Jan15   0:00 /usr/sbin/squid3 -YC -f /etc/squid3/squid.conf
proxy    23059  0.9 26.8 2278912 2190308 ?     R    Jan30  79:34 (squid) -YC -f /etc/squid3/squid.conf

O processo que estamos procurando, é o que contém "(squid)" e o PID deste processo é (no nosso exemplo) 23059.

O que precisamos fazer agora, é executar o seguinte comando, lembrando que o caminho abaixo pode variar de acordo com o que está configurado no seu squid.conf:

# echo num_pid_processo > /var/run/squid.pid

Pronto, agora você terá controle novamente do seu Squid e, para garantir (caso seja possível), vamos reinicia-lo:

# /etc/init.d/squid3 restart

P.S.: em casos mais extremos que a solução acima não se aplica, pare o Squid, remova o arquivo com o PID e inicie o Squid novamente.


É isso... Abraço!

Testado no Debian 7

Veja essa e outras dicas em meu blog, onde posto dicas e soluções em TI.

Precisa de suporte técnico ou consultoria? Acesse: www.revolutech.com.br

Gostou? Compartilhe e deixe seu comentário.
Achou algum erro? Precisa de ajuda? Críticas? Deixe seu comentário.

Obrigado!
Jeferson R. Costa

Outras dicas deste autor

dos2unix - Convertendo arquivos Windows para GNU/Linux

Iniciando o Debian mais rápido removendo o GRUB

Alterando senha de usuário no MySQL

proc/cpuinfo - Como saber a quantidade de núcleos do processador

Descobrindo seu IP externo via linha de comando no GNU/Linux

Leitura recomendada

Resolvendo problemas com "python-central"

Habilitando o TouchPad em qualquer distribuição Linux

Autenticação por módulos PAM no Debian Lenny 5.05 x84

Compartilhamento simples e rápido de diretório para outros computadores

Mudando tamanho padrão de tela no PUTTY

  

Comentários
[1] Comentário enviado por GOV_DLX em 03/06/2015 - 09:50h

Outro detalhe importante para complementar esta dica é:
Dê as permissões corretas para o arquivo de pid do squid. Por padrão o squid não cria o arquivo em /var/run/squid3.pid na hora do seu start, então é importante verificar se o arquivo existe e caso já exista de as permissões do usuário e grupo proxy.

chown proxy:proxy /var/run/squid3.pid

[2] Comentário enviado por xixnux em 30/05/2017 - 12:47h

Me sirvió mucho este post. Muchas gracias, saludos desde Cali, Colombia



Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts