เมื่อฉันเรียกใช้ Zotero / Firefox พวกเขามักจะผิดพลาดและฉันก็เหลือกับกระบวนการซอมบี้ หลังจากนี้ฉันไม่สามารถเปิดอินสแตนซ์ใหม่ของ Zotero หรือ Firefox ฉันต้องการกำจัดกระบวนการซอมบี้เหล่านี้แทนที่จะรีบูตดังนั้นสำหรับ<pid>
กระบวนการซอมบี้
$ ps -p <pid> -o ppid=
ให้ฉัน<parent_pid>
และ
ps aux | awk -v PID=<parent_pid> '$2 == PID {print $0}'
บอกฉันการปกครองเป็นสำหรับผู้ใช้/sbin/launchd
crippledlambda
มีวิธีการรีสตาร์ทโดยไม่ฆ่าระบบของฉันหรือไม่
sudo kill -1 <parent_pid>
ไม่ทำอะไรเลย ฉันพยายามเขียนสิ่งนี้ในสคริปต์และเรียกใช้ด้วยsudo
:
for i in `launchctl list | grep launchd | awk -v PID=<parent_pid> '$1==PID { print $NF }'`; do `launchctl stop $i && launchctl start $i` ; done
และนี่ชัดเจน (?) ทำให้ฉันมีหน้าจอสีเทาไม่ตอบสนองดังนั้นฉันต้องรีบูตอยู่ดี ขอบคุณล่วงหน้าสำหรับคำแนะนำของคุณ
launchd
ควรอ่านสถานะทางออกของเด็กทันที หากพวกเขาไม่ใช่ซอมบี้อย่างแท้จริงคุณควรจะฆ่าพวกเขา ไม่ว่าในกรณีใดการฆ่าlaunchd
จะทำให้เกิดปัญหามากกว่าที่จะแก้