Para um comando executado a partir do shell, leia a documentação do shell em ulimit .
Existe uma função ulimit() que faz o mesmo em C.
Existem também vários limites que você pode aplicar por meio de métodos específicos de implementação. No FreeBSD, você pode definir limites por usuário em login.conf , ou usando um comando chamado rctl . Algumas distribuições Linux usam um limits.conf .
Existe um programa chamado cpulimit que pausa um processo para garantir que ele use menos que uma certa quantidade de CPU ao longo do tempo.
E, claro, sempre há nice e renice , se você quiser apenas ajustar prioridades.