แก้ไขปัญหา“ firefox is ทำงานแล้ว” ใน Linux


27

ฉันพยายามเปิด Firefox ใน CentOS แต่ฉันได้รับข้อความต่อไปนี้:

Firefox กำลังทำงานอยู่ แต่ไม่ตอบสนอง

และ Firefox ไม่เปิด ฉันลองในบรรทัดคำสั่ง:

kill Firefox

แต่มันไม่ทำงาน นอกจากนี้ฉันไม่ทราบว่าไดเรกทอรีใดที่ฉันต้องเรียกใช้คำสั่งที่ถูกต้อง

ฉันจะแก้ไขสิ่งนี้ได้อย่างไร


มีkillallคำสั่งบน Cent OS หรือไม่? อันนั้นคุณสามารถใช้เพื่อฆ่าด้วยชื่อตามที่คุณเคยลองมาก่อน
จัดการ

3
ใช่มีคำสั่งมาตรฐานเช่นpgrep, และpkill killall
slm

CentOS เป็น distro Linux ไม่ใช่ Unix
Rafael Cavalcanti

Dchris - โปรดจำไว้ว่ายอมรับคำตอบที่เหมาะกับคุณหรือขอข้อมูลเพิ่มเติม
user66001

Dchris - ไม่มีใครเลย
user66001

คำตอบ:


29

จากhttp://kb.mozillazine.org/Profile_in_use - ตรวจสอบ:

1) ไฟล์ชื่อ.parentlock
-AND-
2) symlink ชื่อlock
... ใน ~ / .mozilla / firefox / สตริงสุ่มของตัวอักษรและตัวเลขตัวอักษรเริ่มต้น /

อดีตมีอยู่ในขณะที่ 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) ขอบคุณ!
Vanni

ควรเป็นคำตอบ ฉันมีปัญหาเมื่อผู้ใช้รายอื่นลงชื่อเข้าใช้ firefox ดังนั้นฉันจึงไม่สามารถฆ่า PID ได้ .. ฉันต้องลบไฟล์เหล่านี้ออกไป ..
dermen

17
  1. ขั้นแรกค้นหารหัสกระบวนการของ firefox โดยใช้คำสั่งต่อไปนี้ในไดเรกทอรีใด ๆ :

    pidof firefox
    
  2. ฆ่ากระบวนการ firefox โดยใช้คำสั่งต่อไปนี้ในไดเรกทอรีใด ๆ :

    kill [firefox pid]
    

จากนั้นเริ่ม Firefox อีกครั้ง

หรือคุณสามารถทำสิ่งเดียวกันได้ในเพียงคำสั่งเดียวเช่น don_crissti กล่าวว่า:

kill $(pidof firefox)

@don_crissti ดีกว่ามาก!
Dchris

8
pkill firefoxหรือดีกว่ายังคงเป็น
slm

หากไม่สามารถใช้งานได้ลองkill -9 $(pidof firefox)หรือpkill -9 firefox
mavillan

จากประสบการณ์-9แนะนำเกือบทุกครั้ง
schaiba

หมายเหตุ: ข้างต้นจะไม่อนุญาตให้ Firefox ทำการปิดการทำงาน (เช่นตัวเลือกอื่น ๆ ของ pkill / kill ที่กล่าวถึงที่อื่นในคำถามนี้ตามที่เป็นอยู่ในปัจจุบัน) และจะนำไปสู่ ​​(ในสิ่งอื่น ๆ ) locksymlink จะไม่ถูกลบซึ่งจะ ทำให้ข้อความในคำถามนี้ยังคงอยู่ ดูคำตอบของฉันสำหรับรายละเอียดเพิ่มเติม
user66001

4

โดยปกติผู้ใช้หลายคนบอกว่าคำสั่งนี้ช่วย:

killall -SIGTERM firefox

คำสั่ง killall จะประมวลผล killall ที่ชื่อ "firefox" SIGTERM เป็นประเภท kill-signal คำสั่งนี้ทำงานได้ดีสำหรับฉันและผู้ใช้ Linux อื่น ๆ นอกจากนี้อาจช่วยให้รอสามสิบวินาทีหลังจากปิด Firefox ก่อนที่จะเปิดอีกครั้ง


5
ไม่ได้จริงๆ killall ตรงกับรูปแบบว่า สิ่งที่คุณพูดถูกต้องสำหรับ pkill: มันฆ่ากระบวนการทั้งหมดที่มีรูปแบบนั้น (เว้นแต่คุณจะส่ง -x ในอาร์กิวเมนต์) ตัวอย่างเช่น "pkill refox" จะฆ่า firefox แต่ "killall refox" จะไม่ทำอะไรเลย (เว้นแต่คุณจะมีกระบวนการ "refox" ทำงาน)
Rafael Cavalcanti

หมายเหตุ: ข้างต้นจะไม่อนุญาตให้ Firefox ทำการปิดการทำงาน (เช่นตัวเลือกอื่น ๆ ของ pkill / kill ที่กล่าวถึงที่อื่นในคำถามนี้ตามที่เป็นอยู่ในปัจจุบัน) และจะนำไปสู่ ​​(ในสิ่งอื่น ๆ ) locksymlink จะไม่ถูกลบซึ่งจะ ทำให้ข้อความในคำถามนี้ยังคงอยู่ ดูคำตอบของฉันสำหรับรายละเอียดเพิ่มเติม
user66001

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แจ้งให้โหลดโปรไฟล์ซึ่งไม่ใช่ปัญหาที่นี่ เชลล์สคริปต์จะลบไฟล์ที่มีปัญหาที่นี่ (หวังว่าจะไม่ให้คนอื่นใน Firefox รุ่นก่อนหน้า / ในอนาคต) ลบคำแนะนำแรก
user66001

1

หากไม่มีข้อใดถูกต้องโปรดตรวจสอบให้แน่ใจว่าโปรไฟล์ Firefox ของคุณเป็นของผู้ใช้และไม่ต้องพูดโดยรูท ฉันได้รับข้อผิดพลาดที่แน่นอนนี้หลังจากที่ฉันคัดลอกโปรไฟล์ของฉันมาจากที่อื่นลืมว่าฉันทำงานในรูตเชลล์ในเวลานั้น


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 หากไม่มีใครสนใจประวัติการเข้าชมคุกกี้บุ๊กมาร์กหรือสิ่งใด ๆ ที่เกิดขึ้นในเซสชันการสืบค้นก่อนหน้านี้จะเป็นวิธีแก้ปัญหา แต่สำหรับส่วนที่เหลือของโลกนี้จะคล้ายกับการเปลี่ยนรถใหม่ของคุณเมื่อมันต้องการยางใหม่
user66001
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.