Na verdade, eu não tenho um script à mão, mas matar esses processos mal-intencionados não fará nada para resolver o problema que você tem em primeiro lugar ... Eu acho que você é um webhost e estes são mineiros que rodam em seu VPS?
O que você pode fazer é em vez de matá-los para "matá-los de fome" usando cgroups .
Você terá contabilidade de CPU e rede e uma ferramenta chamada cgclassify
. Você pode criar hierarquias flexíveis. Existe uma boa documentação para o CentOS / RHEL aqui .
Não sou especialista em detalhes, mas acho que é possível desta forma: Você cria cgroups para CPU / Memória / Rede e classifica os processos de acordo com os compartilhamentos usados usando cgclassify ou o daemon mencionado. Isso significa que os daemons cuidam de supervisionar o uso de recursos e você pode se mover, e. processos que usam a rede e uma certa quantidade de compartilhamentos de CPU em um cgroup que limita severamente o acesso da CPU e da rede ou simplesmente mata o processo (por exemplo, devido à pouca memória).
Aqui está uma apresentação com alguns detalhes .
O problema em matar esses processos a cada 15 minutos é que eles provavelmente serão recuperados instantaneamente e que eles armazenam seus recursos completos nesses 15 minutos.
Com cgroups você pode classificar certos binários seguros (por exemplo, PHP, Apache) e limitar todos os outros processos ... então usar CPU / Rede não impactará o servidor e é tão lento que não vale a pena para os usuários executarem essas tarefas Também é possível moldar os compartilhamentos de CPU de tal maneira que o processo fica mais lento quanto mais CPU estiver usando. O mesmo para a largura de banda da rede .. você pode limitar, e. todos os processos para cada usuário usar apenas 1Mbit para conexões de rede de saída ou até menos.
Você também pode usar apenas os dados contábeis dos cgroups para eliminar os processos.
Fazer isso "on the fly" parece ser outro problema, mas se o problema persistir, procure usar e modificar ulatencyd
ou ferramentas semelhantes às suas necessidades. Com boas regras, isso deve cuidar de processos problemáticos mais rapidamente que 15 minutos e com alguma persistência.