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

27

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

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

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

kill Firefox

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

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

Dchris
источник
Есть 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`

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

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

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

cynthb
источник
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