Исправлена ​​проблема «Firefox уже запущен» в Linux


27

Я пытаюсь открыть Firefox в CentOS, но получаю следующее сообщение:

Firefox уже запущен, но не отвечает

и Firefox не открывается. Я попробовал это в командной строке:

kill Firefox

но это не сработало. Кроме того, я не знаю, в каком каталоге я должен выполнять правильные команды.

Как я могу это исправить?


Есть killallкоманда на Cent OS? Тот, который вы можете использовать, чтобы убить по имени, как вы пытались раньше.
manatwork

3
Да , есть стандартные команды , такие как pgrep, pkill, и killall.
SLM

CentOS - это дистрибутив Linux, а не Unix.
Рафаэль Кавальканти

Dchris - Пожалуйста, не забудьте принять, какой ответ сработал для вас, или попросить дополнительную информацию.
user66001

Дхрис - никто.
user66001

Ответы:


29

С http://kb.mozillazine.org/Profile_in_use - Проверьте:

1) файл с именем .parentlock
-AND-
2) символическая ссылка с именем lock
... в ~ / .mozilla / firefox / случайная строка буквенно-цифровых символов .default /

Первый присутствует во время работы Firefox, чтобы предотвратить одновременную запись более одного экземпляра в один и тот же набор файлов профиля, и если Firefox не закрывается чисто, ни один из них не может быть удален.

Сообщение об ошибке, полученное в этом случае, должно быть:

Из любой точки файловой системы (или удалив это, если в pwdотчетах ), заменив случайную строку буквенно-цифровых символов на папку профиля FF на вашем компьютере, выполните (при условии, что первое предложение выполнено), чтобы удалить их, если не запущен процесс 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`

Более менее авторитетная информация здесь .


3
Это решение остается в силе почти через 4 года (только что протестировано с Firefox 53 на Ubuntu 17.04). Благодарность!
Ванни

Должен быть ответ. У меня была проблема, когда другой пользователь вошел в Firefox, поэтому я не мог убить PID .. Мне пришлось удалить эти файлы ..
dermen

17
  1. Сначала найдите идентификатор процесса firefox, используя следующую команду в любом каталоге:

    pidof firefox
    
  2. Убейте процесс firefox, используя следующую команду в любом каталоге:

    kill [firefox pid]
    

Затем снова запустите Firefox.

Или вы можете сделать то же самое всего за одну команду. Как сказал don_crissti:

kill $(pidof firefox)

@don_crissti намного лучше!
Дхрис

8
Или еще лучше pkill firefox.
SLM

Если не работает, попробуйте kill -9 $(pidof firefox)илиpkill -9 firefox
mavillan

Из опыта -9почти всегда рекомендуется.
Чайба

ПРИМЕЧАНИЕ. Вышеприведенное не позволит Firefox выполнять закрывающие операции (подобно другим опциям pkill / kill, которые обсуждались в этом вопросе в других местах), и будет приводить (среди прочего) к lockудалению символической ссылки, что приведет к оставьте сообщение в этом вопросе. Смотрите мой ответ для более подробной информации.
user66001

4

Обычно многие пользователи говорят, что эта команда помогает:

killall -SIGTERM firefox

Команда killall будет уничтожать все процессы, которые называются «firefox». SIGTERM - это тип сигнала уничтожения. Эта команда хорошо работает для меня и других пользователей Linux. Кроме того, это может помочь подождать тридцать секунд после закрытия Firefox, прежде чем он будет снова включен.


5
На самом деле, нет. killall точно соответствует шаблону . То, что вы сказали, действительно для pkill: оно убивает все процессы, содержащие этот шаблон (если вы не передадите -x в аргументах). Например, «pkill refox» убьет firefox, но «killall refox» ничего не сделает (если у вас не запущен процесс «refox»).
Рафаэль Кавальканти

ПРИМЕЧАНИЕ. Вышеприведенное не позволит Firefox выполнять закрывающие операции (подобно другим опциям pkill / kill, которые обсуждались в этом вопросе в других местах), и будет приводить (среди прочего) к lockудалению символической ссылки, что приведет к оставьте сообщение в этом вопросе. Смотрите мой ответ для более подробной информации.
user66001

2

откройте терминал и введите:

firefox -P

Или используя оболочку Scipt:

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

-1 firefox -Pзапрашивает профиль для загрузки, что не является проблемой здесь. Сценарий оболочки удалит файлы, о которых идет речь, здесь (будем надеяться, что это не так в других прошлых / будущих версиях Firefox). Удалить первое предложение.
user66001

1

Если ничего из вышеперечисленного не работает, убедитесь, что ваш профиль Firefox принадлежит вашему пользователю, а не, скажем, root. Я получил эту точную ошибку после того, как скопировал свой профиль откуда-то еще, забыв, что в то время я работал в корневой оболочке.


0

Если вы не нашли ни одного экземпляра Firefox, работающего при поиске с помощью pgrepили htop, и хотите принудительно перезапустить ваш Firefox, просто удалите profiles.iniфайл и перезапустите Firefox.

Предостережение. Делайте это, если вам не нужны профили. Файл можно найти в ~/.mozilla/firefox/(если это profiles.iniне имеет никакого смысла для вас, вы можете пойти дальше и удалить).


Или вы можете изменить разрешение файла profiles.ini на 777
kavi temre

-1 Где находится документация о том, что profiles.ini запрещает запуску Firefox с сообщением об ошибке OP?
user66001

0

Действительно простой способ - просто открыть терминал, запустить firefox -Pи либо удалить неиспользуемый профиль пользователя, либо просто создать другой профиль и установить его в качестве профиля по умолчанию.


-1 Если кому-то наплевать на историю посещенных страниц, файлы cookie, закладки или что-то, что происходило в предыдущих сеансах просмотра, это было бы решением. Но для остального мира это похоже на замену вашего нового автомобиля, когда ему нужна новая шина.
user66001
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.