O processo SH está usando 50% da CPU, por que isso?

2

Eu tenho o CRON rodando a cada 30 segundos, mas isso estaria sob o processo crond correto? Por que o comando sh está sugando 50% da minha CPU quando ninguém está executando um Script da Shell?

    
por Concordus Applications 25.06.2012 / 19:10

2 respostas

3

O Cron executará o comando especificado no campo de comando usando sh -c . Você pode especificar outro shell configurando SHELL no arquivo crontab.

EDITAR:

Só para esclarecer, o comando sh -c será executado como um subprocesso do cron, que pode gerar outros subprocessos dependendo do comando fornecido.

    
por 25.06.2012 / 19:14
0

crond é executado como root em todos os sistemas que eu conheço:

1016 % ps -ef | grep crond 
root       342     1  0 12:37 ?        00:00:00 /usr/sbin/crond

Isso está em uma instalação do Arch razoavelmente atual, mas um Slackware idoso diz a mesma coisa. Se você, como algum usuário não raiz, reunir um arquivo crontab, crond executará os comandos como seu ID do usuário não-root. A propriedade de raiz tem sido a causa de vários problemas importantes de segurança ao longo dos anos.

Com o uso de 50% de uma CPU, a execução de algo pesado a cada 30 segundos poderia facilmente consumir 50% de uma CPU. Lotes de "globbing" poderiam fazer isso, eu acho, como poderia fazer um monte de sh-builtin correspondência de padrões de string ou aritmética.

    
por 26.06.2012 / 01:22

Tags