Consequências adversas do uso do kill -9 para o término do Skype

0

Atualmente, encerro o Skype usando ps ax | grep skype e, em seguida, emitindo kill -9 nos PIDs. Existem três PIDs a serem mortos.

Quais são as conseqüências adversas para o Ubuntu que resultam da morte do Skype dessa maneira? Estou preocupado com o fato de os recursos não serem liberados ou os arquivos de lixo serem deixados em vários lugares.

    
por H2ONaCl 07.11.2011 / 15:31

2 respostas

1

Você está certo em se preocupar.

Os programas Unix / Linux podem registrar rotinas de tratamento de sinal. Estes são chamados quando recebem sinais do sistema de oparização. Você pode ver uma lista completa de sinais usando man 7 signal (ou on-line aqui )

Quando você chama kill , ele envia um sinal para o processo. O sinal padrão é SIGTERM (isso equivale a kill -15 , kill -TERM ou simplesmente kill ) e o comportamento padrão é para o aplicativo ser encerrado. Aplicativos mais sofisticados, provavelmente incluindo o Skype, configurarão uma rotina de manipulação de sinais para fechar conexões e talvez salvar algumas informações da sessão.

Quando você faz kill -9 (ou seu equivalente kill -KILL ) você envia SIGKILL. Como explicado na página man do sinal, "Os sinais SIGKILL e SIGSTOP não podem ser capturados, bloqueados ou ignorados." Isso significa que nenhuma rotina de manipulação de sinal será executada e todas as coisas legais que os programadores do Skype colocaram para fazer com que seu software se comporte em seu sistema sejam ignoradas.

Você deve sempre tentar matar processos sem -9 primeiro. Se isso não funcionar, só então você deve tentar kill -9 .

Aside: You may see that some daemons support kill -HUP to reload configuration file. These programs have signal handlers configured to run when they receive SIGHUP. The kill program is named in a way to suggest that it always kills programs, but it's really just a way to send signals.

    
por 01.02.2012 / 17:10
1

Difícil saber a menos que você tenha o código-fonte do Skype, que é o código fechado do AFAIK. De qualquer forma, você deve tentar kill -TERM primeiro antes de tentar um kill -KILL potencialmente mais prejudicial. Também sugiro usar -KILL em vez de -9, é mais legível. Você também pode querer dar uma olhada no comando killall .

    
por 07.11.2011 / 16:10