O kernel do Linux Grupos de Controle é o que você está procurando. Com cgroups, você pode limitar a quantidade de recursos que certos processos podem usar, incluindo memória. Então, no seu caso, você criaria pelo menos dois cgroups. Uma delas limitaria o acesso à memória a todos os processos no sistema para talvez 90% da sua RAM total. Então o segundo teria acesso a toda a RAM. Você colocaria seu processo de terminal no segundo cgroup. Existem muitos recursos na web que cobrem como configurar seus cgroups e isso depende de sua distribuição e versão do kernel.
Outra opção mais simples é simplesmente desabilitar o swap na sua máquina. A "falta de resposta" que você observa é o seu sistema operacional usando o espaço de troca. Quando você o desabilita, o oom_killer terminará o processo que monopoliza toda a memória para que o sistema não pare de travar.