Mate os processos pai-filho em um único comando

2

Eu me conecto à Internet usando sudo wvdial no Fedora 14. O terminal precisa continuar funcionando. Minha exigência é executar yum update em um terminal separado, depois matar wvdial & seu terminal pai e faça init 0 em um único comando usando su -c .

Existe uma maneira de matar filho (aqui, sudo wvdial ) e pai (aqui, terminal rodando wvdial) com um único comando que pode me deixar fazer o seguinte?

su -c 'yum update; kill-child-parent-processes; init 0'

Aqui kill-child-parent-processes significa o método usando o qual eu posso matar sudo wvdial e seu terminal pai.

Obrigado.

    
por Dharmit 10.03.2011 / 17:51

1 resposta

1

Você precisa descobrir o ID da sessão ( sid ) do shell em execução no terminal.

jinx:802 Z$ ps -p$$ -o sid
 SESS
17424

(Pedantry alerta: geralmente isto é o mesmo que $$ . Se for diferente, então isso pode não funcionar.) Você pode usar isso para matar a sessão em execução no terminal. Você não pode matar o terminal diretamente desta forma (está na sessão do gerenciador de janelas), mas se o terminal estiver configurado para fechamento automático (como normalmente é), ele desaparecerá sozinho.

jinx:803 Z$ pkill -s 17424
    
por 10.03.2011 / 19:13

Tags