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

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

Tenho o CRON rodando a cada 30 segundos, mas isso se enquadraria no crondprocesso, correto? Por que o comando está shconsumindo 50% da minha CPU quando ninguém está executando um Shell Script?

Responder1

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

EDITAR:

Só para esclarecer, o sh -ccomando será executado como um subprocesso do cron, podendo gerar outros subprocessos dependendo do comando dado.

Responder2

crondé executado como root em todos os sistemas com os quais estou familiarizado:

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

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

No que diz respeito ao uso de 50% da CPU, executar algo pesado a cada 30 segundos pode facilmente consumir 50% da CPU. Muitos "globbing" poderiam fazer isso, eu acho, assim como fazer muitas correspondências de padrões de strings ou aritmética embutidas no sh.

informação relacionada