修复Linux中的“ firefox已在运行”问题


27

我正在尝试在CentOS中打开Firefox,但收到以下消息:

Firefox已经在运行,但没有响应

Firefox无法打开。我在命令行中尝试了这个:

kill Firefox

但这没用。另外,我不知道我必须在哪个目录中执行正确的命令。

我怎样才能解决这个问题?


killall在Cent OS上有命令吗?您可以像以前尝试过的那样用它杀死名字。
manatwork 2013年

3
是有这样的标准命令pgreppkillkillall
slm

CentOS是Linux发行版,而不是Unix。
拉斐尔·卡瓦尔坎蒂

Dchris-请记住接受哪个答案对您有用,或询问更多信息。
user66001 2013年

Dchris-没人。
user66001 2013年

Answers:


29

http://kb.mozillazine.org/Profile_in_use-检查:

1)名为.parentlock
-AND- 的文件
2)lock
在〜/ .mozilla / firefox / 字母数字字符的随机字符串 .default /中称为... 的符号链接

当Firefox运行时,存在前者,以防止多个不同的实例尝试同时写入同一组配置文件,并且如果未彻底关闭Firefox,则均不能删除它们。

在这种情况下收到的错误消息应该是:

从文件系统中的任何位置(如果报告则删除字符),用计算机上的FF配置文件文件夹替换字母数字字符的随机字符串如果没有运行Firefox进程则将其删除(假定第一句话平移)。pwd~/.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年后仍然有效(刚刚在Ubuntu 17.04上使用Firefox 53进行了测试)。谢谢!
万尼

应该是答案。当另一个用户登录到firefox时,我遇到了问题,所以我无法杀死PID。我不得不删除这些文件
。– dermen

17
  1. 首先在任何目录中使用以下命令找到firefox的进程ID:

    pidof firefox
    
  2. 在任何目录中使用以下命令杀死firefox进程:

    kill [firefox pid]
    

然后再次启动Firefox。

或者您可以只用一个命令就可以做同样的事情。正如don_crissti所说:

kill $(pidof firefox)

@don_crissti好多了!
Dchris 2013年

8
还是更好pkill firefox
slm

如果不起作用,请尝试kill -9 $(pidof firefox)pkill -9 firefox
mavillan

根据经验,-9几乎总是建议。
schaiba '16

注意:上面的内容不允许Firefox执行关闭操作(就像在此问题上其他地方讨论的其他pkill / kill选项一样,当前如此),并且将导致(除其他事项外)lock未删除符号链接,这将导致使该问题中的消息保留下来。请参阅我的答案以获取更多详细信息。
user66001

4

通常,许多用户说此命令有助于:

killall -SIGTERM firefox

killall命令将杀死所有名为“ firefox”的进程。SIGTERM是终止信号类型。此命令对我和其他Linux用户都适用。另外,关闭Firefox后等待30秒再重新打开可能会有所帮助。


5
并不是的。killall与模式完全匹配。您所说的对pkill有效:它将杀死所有包含该模式的进程(除非您在参数中传递-x)。例如,“ pkill refox”将杀死firefox,但“ killall refox”将不执行任何操作(除非您正在运行“ refox”进程)。
拉斐尔·卡瓦尔坎蒂

注意:上面的内容不允许Firefox执行关闭操作(就像在此问题上其他地方讨论的其他pkill / kill选项一样,当前如此),并且将导致(除其他事项外)lock未删除符号链接,这将导致使该问题中的消息保留下来。请参阅我的答案以获取更多详细信息。
user66001 2013年

2

打开一个终端并输入:

firefox -P

或使用外壳程序:

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

-1 firefox -P提示加载配置文件,这不是这里的问题。Shell脚本将删除此处有问题的文件(希望不是Firefox的任何以前/将来版本中的其他文件)。删除第一个建议。
user66001

1

如果上述方法均无效,请确保您的Firefox配置文件归用户所有,而不是root。从其他地方复制我的配置文件后,我得到了这个确切的错误,却忘记了当时我在root shell中运行。


0

如果使用pgrep或搜索时未找到任何正在运行的firefox实例htop,并且想要强制重新启动firefox,则只需删除profiles.ini文件并重新启动firefox。

注意:如果您不关心配置文件,请执行此操作。可以在以下位置找到该文件~/.mozilla/firefox/(如果profiles.ini对您没有任何意义,则可以继续删除该文件)。


或者,您也可以将profiles.ini文件的权限更改为777
kavi temre,2016年

-1profiles.ini阻止Firefox从OP声明的错误消息开始的文档在哪里?
user66001

0

一种非常简单的方法是打开一个终端,运行firefox -P,然后删除将不会运行的用户配置文件,或者只是创建另一个配置文件并将其设置为默认配置文件。


-1如果不关心浏览历史记录,Cookie,书签或以前的浏览会话中发生的任何事情,这将是一种解决方案。但是对于世界其他地方,这类似于在需要新轮胎时更换新车。
user66001
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.