sleep infinity
é provavelmente o que eu estava procurando.
Eu tenho um programa que gerencia processos. Ele é projetado para gerenciar processos de execução longa e, quando um de seus processos sai, mesmo com êxito, todo o gerenciador de processos é fechado.
Por exemplo, eu tenho este arquivo de configuração para o gerenciador de processos:
foo: foo --do-foo
bar: bar --do-bar
O comando "foo" pode sair 0, fazendo com que todo o gerenciador de processos (e, portanto, também o comando bar --do-bar
) feche.
Evitando enviar uma mudança para o gerenciador de processos, ou usando um diferente, estou pensando que posso enganá-lo para não sair, adicionando outro comando "inócuo" ao final do meu comando, o que fará com que ele "pare". "e, portanto, o gerente de processos não fechará. Algumas idéias que vêm à mente estão chamando && ruby
ou && read
para fazer com que o comando pare.
Então, voltando ao meu exemplo anterior, eu mudaria meu arquivo de configuração para:
foo: foo --do-foo && read
bar: bar --do-bar
Em seguida, mesmo que foo --do-foo
tenha saído 0, o comando "pararia" porque chamei read
e, em seguida, o gerente de processos não fechava.
Os comandos ruby
ou read
"inócuo" e / ou "barato" são executados para enganar meu gerente de processos? Ou há um comando ainda mais simples que eu poderia executar para tornar o processo "parado" e consumir muito poucos / nenhum recurso do sistema?
sleep infinity
é provavelmente o que eu estava procurando.