Como evitar que um processo seja morto?

3

Existe alguma maneira de impedir que um processo seja morto, não importa o quê? Eu sei sobre nice , mas não tenho certeza se, ao dar uma tarefa como uma tarefa rake com uso intensivo de memória, a prioridade mais alta impedirá que ela seja eliminada:

nice -n -20 rake xyz

Edit: O autor original provavelmente quer que ele seja de alta prioridade, mesmo que o servidor também esteja com poucos recursos, tanto que outros processos serão mortos primeiro.

    
por Simpleton 04.11.2013 / 13:47

2 respostas

5

Por que ele seria morto?

Porque não é automático que algo seja morto. Depois de responder a isso e explicar por que algo seria selecionado para destruição, você poderá encontrar uma solução.

Dado que você está falando sobre o comando rake do Rails, estou supondo que este é um processo em execução em um servidor. O fato de você estar preocupado com o fato de ser morto sugere que ele está sendo morto pelo host do servidor por usar muitos recursos. Em casos como esse, não há (nem deveria haver) formas de interromper seu processo de morte.

Se você tiver uma tarefa cara, compre mais recursos. Use seu próprio horário do servidor. Ou chegar a um acordo com o host que lhe permita executá-lo em seu centavo.

    
por Oli 04.11.2013 / 14:09
3

Você não pode impedir que o root mate um processo. Ou para essa matéria: você não pode impedir que o servidor mate um processo que consuma todos os seus recursos.

O que você pode fazer é bifurcar o comando para que ele seja reiniciado quando morto.

Exemplo usando código:

por Rinzwind 04.11.2013 / 14:10

Tags