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.