Khắc phục lỗi firefox đang chạy vấn đề trên Linux trong Linux


27

Tôi đang cố gắng mở Firefox trong CentOS, nhưng tôi nhận được thông báo sau:

Firefox đã chạy nhưng không phản hồi

và Firefox không mở. Tôi đã thử điều này trong dòng lệnh:

kill Firefox

nhưng nó không hoạt động. Ngoài ra, tôi không biết trong thư mục nào tôi phải thực hiện đúng lệnh.

Làm thế nào tôi có thể sửa lỗi này?


Có một killalllệnh trên Cent OS? Cái mà bạn có thể sử dụng để giết theo tên, như bạn đã thử trước đây.
manatwork

3
Có có các lệnh chuẩn như pgrep, pkill, và killall.
slm

CentOS là một bản phân phối Linux, không phải Unix.
Rafael Cavalcanti

Dchris - Hãy nhớ chấp nhận câu trả lời nào phù hợp với bạn hoặc hỏi thêm thông tin.
user66001

Dchris - Không ai cả.
user66001

Câu trả lời:


29

Từ http://kb.mozillazine.org/Profile_in_use - Kiểm tra:

1) Một tệp có tên .parentlock
-AND-
2) Một liên kết tượng trưng có tên lock
... trong ~ / .mozilla / firefox / chuỗi ký tự chữ và số ngẫu nhiên .default /

Cái trước có mặt trong khi Firefox đang chạy để ngăn không cho nhiều trường hợp khác nhau cố gắng ghi đồng thời vào cùng một tập tin hồ sơ và nếu Firefox không được đóng sạch, thì cũng không thể xóa được.

Thông báo lỗi nhận được trong trường hợp này phải là:

Từ bất cứ nơi nào trong hệ thống tệp (hoặc loại bỏ điều này nếu pwdbáo cáo ), thay thế chuỗi ký tự chữ và số ngẫu nhiên bằng thư mục hồ sơ FF trên máy tính của bạn, hãy (giả sử câu đầu tiên bỏ qua) để xóa chúng, nếu không có quá trình Firefox đang chạy .~/.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`

Nhiều thông tin ít có thẩm quyền ở đây .


3
Giải pháp này vẫn còn hiệu lực sau gần 4 năm (vừa được thử nghiệm với Firefox 53 trên Ubuntu 17.04). Cảm ơn!
Vanni

Nên là câu trả lời. Tôi gặp vấn đề khi một người dùng khác đã đăng nhập vào firefox, vì vậy tôi không thể giết được PID .. Tôi đã phải xóa các tệp này ..
dermen

17
  1. Trước tiên hãy tìm id quá trình của firefox bằng lệnh sau trong bất kỳ thư mục nào:

    pidof firefox
    
  2. Tiêu diệt quá trình firefox bằng lệnh sau trong bất kỳ thư mục nào:

    kill [firefox pid]
    

Sau đó bắt đầu firefox một lần nữa.

Hoặc bạn có thể làm điều tương tự chỉ trong một lệnh. Như don_crissti đã nói:

kill $(pidof firefox)

@don_crissti tốt hơn nhiều!
Dchris

8
Hoặc tốt hơn vẫn là pkill firefox.
slm

Nếu không hoạt động, hãy thử kill -9 $(pidof firefox)hoặcpkill -9 firefox
mavillan

Từ kinh nghiệm, -9hầu như luôn luôn được đề nghị.
schaiba

LƯU Ý: Ở trên sẽ không cho phép Firefox thực hiện các thao tác đóng (như các tùy chọn pkill / kill khác được thảo luận ở nơi khác về câu hỏi này, như hiện tại) và sẽ dẫn đến (trong số những thứ khác) lockliên kết tượng trưng không bị xóa, điều này sẽ bị xóa làm cho thông điệp trong câu hỏi này vẫn còn. Xem câu trả lời của tôi để biết thêm chi tiết.
user66001

4

Thông thường, nhiều người dùng nói lệnh này giúp:

killall -SIGTERM firefox

Lệnh killall sẽ giết các tiến trình được đặt tên là "firefox". SIGTERM là loại tín hiệu tiêu diệt. Lệnh này hoạt động tốt cho tôi và những người dùng Linux khác. Ngoài ra, có thể giúp chờ ba mươi giây sau khi đóng Firefox trước khi bật lại.


5
Không hẳn vậy. killall phù hợp với mô hình chính xác . Những gì bạn nói là hợp lệ cho pkill: nó sẽ giết tất cả các quy trình có chứa mẫu đó (trừ khi bạn truyền -x trong các đối số). Ví dụ: "pkill refox" sẽ giết firefox, nhưng "killall refox" sẽ không làm gì cả (trừ khi bạn có quá trình "refox" đang chạy).
Rafael Cavalcanti

LƯU Ý: Ở trên sẽ không cho phép Firefox thực hiện các thao tác đóng (như các tùy chọn pkill / kill khác được thảo luận ở nơi khác về câu hỏi này, như hiện tại) và sẽ dẫn đến (trong số những thứ khác) lockliên kết tượng trưng không bị xóa, điều này sẽ bị xóa làm cho thông điệp trong câu hỏi này vẫn còn. Xem câu trả lời của tôi để biết thêm chi tiết.
dùng66001

2

mở một thiết bị đầu cuối và nhập:

firefox -P

Hoặc sử dụng scipt shell:

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

-1 firefox -Plời nhắc cho hồ sơ tải, đó không phải là vấn đề ở đây. Kịch bản shell sẽ loại bỏ các tệp có vấn đề ở đây (hy vọng không phải các tệp khác trong bất kỳ phiên bản Firefox nào trong quá khứ / tương lai). Xóa đề xuất đầu tiên.
user66001

1

Nếu không có cách nào ở trên hoạt động, hãy đảm bảo rằng hồ sơ Firefox của bạn thuộc sở hữu của người dùng của bạn và không, giả sử, bằng root. Tôi đã nhận được lỗi chính xác này sau khi tôi sao chép hồ sơ của mình từ một nơi khác, quên rằng tôi đang chạy trong một vỏ gốc vào thời điểm đó.


0

Nếu bạn không tìm thấy bất kỳ phiên bản firefox nào đang chạy khi bạn tìm kiếm bằng pgrephoặc htop, và muốn buộc khởi động lại firefox của bạn, chỉ cần xóa profiles.initệp và khởi động lại firefox.

Thận trọng: Làm điều này nếu bạn không quan tâm đến hồ sơ. Có thể tìm thấy tệp này ~/.mozilla/firefox/(nếu điều này profiles.inikhông có ý nghĩa gì với bạn, bạn có thể tiếp tục và xóa).


Hoặc bạn có thể thay đổi quyền tập tin
records.ini

-1 Tài liệu mà records.ini ngăn Firefox bắt đầu với thông báo lỗi đã nêu của OP ở đâu?
user66001

0

Một cách thực sự dễ dàng là chỉ cần mở một thiết bị đầu cuối, chạy firefox -Pvà xóa hồ sơ người dùng sẽ không chạy hoặc chỉ tạo một hồ sơ khác và đặt đó làm hồ sơ mặc định của bạn.


-1 Nếu một người không quan tâm đến lịch sử duyệt web, cookie, dấu trang hoặc bất kỳ điều gì đã xảy ra trong các phiên duyệt trước đó, đây sẽ là một giải pháp. Nhưng đối với phần còn lại của thế giới, điều này giống như việc thay thế chiếc xe mới của bạn khi nó cần một chiếc lốp mới.
user66001
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.