Você está certo de que este é o resultado de um processo já em execução, mas a menos que haja um bug no Firefox, ele não deve ser o resultado de um processo zumbi .
Quando você inicia o Firefox, a nova instância do Firefox verifica se o Firefox já está em execução. Se o Firefox já estiver em execução, em vez de continuar como uma instância separada, a instância muito nova se comunica com a instância já em execução e a inicia uma nova janela ou uma nova guia. Se uma URL foi especificada como um argumento de linha de comando para a instância muito nova do Firefox, ela comunica a URL para a instância já em execução, para que uma janela ou guia seja iniciada na instância já em execução, abrindo uma página com a URL você especificou. Uma vez que essa segunda instância muito nova tenha dito à instância original já em execução o que fazer, essa instância muito nova termina, deixando apenas uma instância.
Você pode verificar esse comportamento iniciando a primeira instância do Firefox com um URL como um argumento da linha de comando (por exemplo, firefox http://askubuntu.com/q/147059/22949
) e, em seguida, criando uma nova janela / guia executando o comando firefox
novamente com um diferente URL (por exemplo, firefox http://www.google.com
). Quando você examinar os processos em execução com ps x
, verá que a única instância firefox
em execução tem a primeira URL como seu argumento de linha de comando (porque o segundo comando não está mais em execução).
Muitas vezes é dito que você não pode executar mais de uma instância do Firefox de cada vez. É mais correto dizer que você não pode executar mais de uma instância do Firefox por vez, por mais de uma fração de segundo.
Devido a esse comportamento, quando você invoca uma segunda instância do Firefox de dentro de um shell, essa instância é encerrada quase imediatamente, fornecendo outro prompt como qualquer outro programa que tenha terminado a execução.
Outro programa comumente usado no Ubuntu que faz isso é o Nautilus (o navegador de arquivos).
É possível que o Firefox esteja em execução, mas não tenha janelas, embora normalmente isso só possa acontecer por um curto período de tempo depois de sair de todas as janelas do Firefox, a menos que haja um bug. É possível que isso seja o que estava acontecendo quando você executou firefox
no Terminal.
No entanto, se o Firefox terminou mas ainda não foi removido da tabela de processos (que é o que significa ser um processo zumbi / processo extinto, e que eu assumo é o que você entende por "processo fantasma"), A nova instância do Firefox deve ser capaz de reconhecer isso e agir como se fosse a única instância em execução do Firefox (porque é). Se você achar que isso não está ocorrendo, então você deve reportar esse comportamento como um bug no pacote firefox do Ubuntu (ou contra o Firefox upstream se você estiver usando a distribuição upstream do Firefox ao invés da versão dos pacotes oficiais do Ubuntu).
Eu não sei quanto esforço você está disposto a colocar para descobrir o que está acontecendo, mas um acidente com o gerenciador de janelas ( compiz
) não deve esconder uma janela do Firefox, desde que compiz
é realmente iniciado novamente. Se isso acontecer, isso é um erro em compiz
ou firefox
.
Se você puder fornecer a saída de ps x | grep -v grep | grep firefox
enquanto o problema estiver ocorrendo - ou seja, depois de descobrir que executar firefox
no Terminal retorna imediatamente ao seu shell - isso ajudaria muito na solução de problemas . Você pode editar sua resposta para incluir essas informações. Você também deve esclarecer se uma nova janela / aba do Firefox é aberta quando você executa firefox
no Terminal, ou se executá-lo no Terminal não está tendo efeito.