Script Bash para abrir o evince (leitor de pdf) e fechar terminal

3

Eu gostaria de escrever um script que, entre outras coisas, abra um arquivo PDF com o evince e feche o terminal.

Até agora eu tenho:

evince &
sleep 2
kill -9 $PPID

mas o evince fecha quando o terminal faz. Eu tentei usar disown -h -a , mas não funciona.

    
por Edoardo 21.09.2016 / 10:20

2 respostas

6

usando nohup você pode evitar que o processo evince seja encerrado com seu processo pai:

nohup evince &
sleep 2
kill -9 $PPID

Mais detalhes sobre o que o nohup faz e de onde ele vem podem ser encontrados na wikipedia: link

  

nohup é um comando POSIX para ignorar o sinal HUP (hangup). O HUP   sinal é, por convenção, a forma como um terminal avisa os processos dependentes   de logout.

     

A saída que normalmente iria para o terminal vai para um arquivo chamado   nohup.out se ainda não foi redirecionado.

    
por Phillip -Zyan K Lee- Stockmann 21.09.2016 / 10:34
3

No meu Ubuntu

nohup evince &
exit

funciona como desejado. Não durma, não mate.

kill -9 é um exagero em qualquer caso, kill -HUP é perfeitamente bom para matar um shell, e provavelmente um terminal também ... Eu não quero verificar porque com o XFCE parece haver apenas um processo terminal para todas as janelas, então kill -9 $PPID mataria todas minhas janelas de terminal.

    
por Law29 21.09.2016 / 12:01