Napraw problem „firefox już działa” w systemie Linux


27

Próbuję otworzyć Firefoksa w CentOS, ale otrzymuję następujący komunikat:

Firefox już działa, ale nie odpowiada

i Firefox się nie otwiera. Próbowałem tego w wierszu poleceń:

kill Firefox

ale to nie działało. Nie wiem też, w którym katalogu muszę wykonać właściwe polecenia.

Jak mogę to naprawić?


Czy istnieje killallpolecenie w Cent OS? Tego możesz użyć do zabicia po imieniu, tak jak próbowałeś wcześniej.
manatwork

3
Tak, są standardowe komendy takie jak pgrep, pkilli killall.
slm

CentOS to dystrybucja Linuksa, a nie Unix.
Rafael Cavalcanti

Dchris - pamiętaj, aby zaakceptować, która odpowiedź Ci odpowiadała, lub poproś o więcej informacji.
user66001,

Dchris - Nikt.
user66001

Odpowiedzi:


29

From http://kb.mozillazine.org/Profile_in_use - Sprawdź:

1) Plik o nazwie .parentlock
-AND-
2) Dowiązanie symboliczne o nazwie lock
... w ~ / .mozilla / firefox / losowy ciąg znaków alfanumerycznych .default /

Ten pierwszy jest obecny, gdy Firefox jest uruchomiony, aby uniemożliwić więcej niż jednej innej instancji próbę jednoczesnego zapisu do tego samego zestawu plików profilowych, a jeśli Firefox nie zostanie poprawnie zamknięty, żadne z nich nie może zostać usunięte.

Komunikat o błędzie otrzymany w tym przypadku powinien być:

Z dowolnego miejsca w systemie plików (lub usuwając to, jeśli pwdraporty ), zastępując losowy ciąg znaków alfanumerycznych folderem profilu FF na komputerze, wykonaj (zakładając, że pierwsze zdanie się rozłoży), aby je usunąć, jeśli nie jest uruchomiony proces Firefox .~/.mozilla/firefox/random string of alphanumeric characters.defaultrm ~/.mozilla/firefox/random string of alphanumeric characters.default/.parentlock ~/.mozilla/firefox/random string of alphanumeric characters.default/lock`

Więcej mniej wiarygodnych informacji tutaj .


3
To rozwiązanie jest nadal aktualne po prawie 4 latach (właśnie przetestowane z Firefoksem 53 na Ubuntu 17.04). Dzięki!
Vanni

Powinna być odpowiedź. Miałem problem, gdy inny użytkownik zalogował się do firefoxa, więc nie mogłem zabić PID .. Musiałem usunąć te pliki ..
Dermen

17
  1. Najpierw znajdź identyfikator procesu firefox za pomocą następującej komendy w dowolnym katalogu:

    pidof firefox
    
  2. Zabij proces firefox za pomocą następującego polecenia w dowolnym katalogu:

    kill [firefox pid]
    

Następnie uruchom Firefox ponownie.

Lub możesz zrobić to samo za pomocą jednego polecenia. Jak don_crissti powiedział:

kill $(pidof firefox)

@don_crissti znacznie lepiej!
Dchris,

8
Lub jeszcze lepiej jest pkill firefox.
slm

Jeśli nie działa, spróbuj kill -9 $(pidof firefox)lubpkill -9 firefox
mavillan

Z doświadczenia -9jest prawie zawsze zalecane.
schaiba,

UWAGA: Powyższe nie pozwoli Firefoxowi wykonywać operacji zamykania (podobnie jak inne opcje pkill / kill omówione gdzie indziej w tym pytaniu, będą, tak jak są obecnie) i doprowadzą (między innymi) do usunięcia lockdowiązania symbolicznego, co spowoduje spowodować, że wiadomość w tym pytaniu pozostanie. Zobacz moją odpowiedź, aby uzyskać więcej informacji.
user66001

4

Zwykle wielu użytkowników twierdzi, że to polecenie pomaga:

killall -SIGTERM firefox

Polecenie killall zabije wszystkie procesy o nazwie „firefox”. SIGTERM to typ sygnału zabicia. To polecenie działa dobrze dla mnie i innych użytkowników Linuksa. Ponadto może pomóc poczekać trzydzieści sekund po zamknięciu Firefoksa, zanim zostanie ponownie włączony.


5
Nie całkiem. killall dokładnie pasuje do wzorca . To, co powiedziałeś, jest ważne dla pkill: zabija wszystkie procesy zawierające ten wzorzec (chyba że podasz argumenty -x w argumentach). Na przykład „pkill refox” zabije firefoxa, ale „killall refox” nic nie zrobi (chyba że masz uruchomiony proces „refox”).
Rafael Cavalcanti

UWAGA: Powyższe nie pozwoli Firefoxowi wykonywać operacji zamykania (podobnie jak inne opcje pkill / kill omówione gdzie indziej w tym pytaniu, będą, tak jak są obecnie) i doprowadzą (między innymi) do usunięcia lockdowiązania symbolicznego, co spowoduje spowodować, że wiadomość w tym pytaniu pozostanie. Zobacz moją odpowiedź, aby uzyskać więcej informacji.
user66001 11.06.13

2

otwórz terminal i wpisz:

firefox -P

Lub używając skrótu:

#!/bin/bash
files=`find ~/.mozilla -name "*lock"`
for file in `echo $files`
do
  echo "removing $file..."
  rm "$file"
done

-1 firefox -Pmonituje o załadowanie profilu, co nie jest tutaj problemem. Skrypt powłoki usunie sporne pliki tutaj (mam nadzieję, że nie w innych w żadnej wcześniejszej / przyszłej wersji Firefoksa). Usuń pierwszą sugestię.
user66001 26.04.17

1

Jeśli żadne z powyższych nie działa, upewnij się, że Twój profil Firefox jest własnością użytkownika, a nie, powiedzmy, root. Ten dokładny błąd dostałem po skopiowaniu mojego profilu skądś indziej, zapominając, że w tym czasie działałem w powłoce root.


0

Jeśli nie znajdziesz żadnych instancji firefox uruchomionych podczas wyszukiwania za pomocą pgreplub htopi chcesz wymusić ponowne uruchomienie firefoxa, po prostu usuń profiles.iniplik i uruchom ponownie firefoxa.

Uwaga: Zrób to, jeśli nie obchodzą cię profile. Plik można znaleźć w ~/.mozilla/firefox/(jeśli profiles.ininie ma to dla ciebie sensu, możesz przejść dalej i usunąć).


Lub możesz zmienić uprawnienie do pliku
profile.ini

-1 Gdzie jest dokumentacja, że ​​profile.ini nie pozwalają Firefoxowi na uruchomienie z podanym komunikatem o błędzie OP?
user66001 26.04.17

0

Naprawdę prosty sposób to po prostu otworzyć terminal, uruchomić firefox -Pi albo usunąć profil użytkownika, który nie chce się uruchomić, albo po prostu utworzyć inny profil i ustawić go jako domyślny.


-1 Jeśli nie obchodzi Cię historia przeglądania, pliki cookie, zakładki ani nic innego, co wydarzyło się podczas poprzednich sesji przeglądania, byłoby to rozwiązanie. Ale dla reszty świata jest to podobne do wymiany nowego samochodu, gdy potrzebuje on nowej opony.
user66001 26.04.17
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.