Posso redirecionar o stdout de um aplicativo em segundo plano depois de iniciá-lo? [duplicado]

2

É possível alterar o stdout depois de iniciar algo como um aplicativo de segundo plano na linha de comando?

Digamos que eu corra test.py:

import time

while True:
    print "Hello"
    time.sleep(1)

e faça:

$ python test.py &

Posso redirecionar a saída para /dev/null de alguma forma?

Relacionado a: Como redirecionar a saída de um executando o programa para / dev / null

Com uma resposta neste site: Como redirecionar a saída de um programa em execução para / dev / null por Mike Perdide

Também é uma duplicata direta de uma pergunta do StackOverflow: Redireciona STDERR / STDOUT de um processo APÓS ter sido iniciado, usando a linha de comando?

    
por Kit Sunde 23.03.2011 / 02:06

1 resposta

1

Não, a menos que você tenha ensinado o programa a fazer isso de alguma forma (por exemplo, ao receber um sinal específico, como SIGUSR1 , reabrir sys.stdout e sys.stderr on /dev/null ). Caso contrário, uma vez iniciado, você terá muito pouco controle sobre isso.

    
por 23.03.2011 / 02:09