A maneira padrão de notificar um aplicativo POSIX para fechar, enquanto ainda tem um período de carência para fazer a limpeza, é enviar para ele o SIGTERM
(link da Wikipedia) sinal. O sinal SIGKILL
(wikipedia link) , por outro lado, mata o aplicativo sem sequer dar a ele a chance de arrumá-lo para cima.
No entanto… ambas as suas ações - chamando top
(a propósito, eu recomendo que você mude para usar htop
em vez de top
) ou killall
- envie o sinal SIGTERM
por padrão. / p>
E acabei de testar o lançamento do Firefox - e testei com SIGKILL
e SIGTERM
. Com SIGTERM
, quando peguei o Firefox novamente, não recebi nenhuma mensagem de erro ou "restauração". Com SIGKILL
, recebi a tela it's embarrassing
.
Então, o motivo é simples: A instância do X para esses aplicativos é congelada . Todos esses aplicativos GUI operam sob a premissa de que sua instância do X está funcionando corretamente. Eles provavelmente não podem nem tentar nada se X estiver congelado.
A maneira de resolver seu problema é determinar por que o X está congelando e impedir que isso aconteça.
Editar : Ah, desculpe - só vi que você fala sobre o uso do Ubuntu alpha / beta quando o X congela. Nesse caso ... eu diria que é parte da excitação de executar um alpha / beta. Tente entender por que ele congela, escreve / adiciona um relatório de bug. Para acelerar a inicialização do Firefox, simplesmente diga para não recarregar as mesmas guias quando for reaberto. (Você ainda pode encontrar essas guias no histórico). Para os outros aplicativos, suas ações de limpeza são bastante triviais - não deve custar muito para você que elas não tenham acontecido.