ฉันรู้ว่าฉันสามารถพิมพ์:
ps -A | grep firefox
ฉันชอบ:
6818 ? 00:04:23 firefox
ตอนนี้ฉันสามารถฆ่ามันได้โดย:
kill -9 6818
จะทำอย่างไรในคำสั่งเดียวและฉันจะสร้างคำสั่งใหม่ได้kf
อย่างไร?
ฉันรู้ว่าฉันสามารถพิมพ์:
ps -A | grep firefox
ฉันชอบ:
6818 ? 00:04:23 firefox
ตอนนี้ฉันสามารถฆ่ามันได้โดย:
kill -9 6818
จะทำอย่างไรในคำสั่งเดียวและฉันจะสร้างคำสั่งใหม่ได้kf
อย่างไร?
คำตอบ:
หมายเหตุ: อย่าใช้kill -9
จนกว่าคุณจะลองทุกอย่างแล้ว พยายามkill
(โดยไม่-9
) ก่อนเสมอ สำหรับคำอธิบายเพิ่มเติมโปรดดูที่คำถามนี้และคำตอบ: /unix/8916/why-not-kill-9-a-process
คำสั่งไปยังกระบวนการสคริปต์ฆ่าเป็นและpkill
killall
ดูหน้าวิกิพีเดียของpkill
และkillall
สำหรับรายละเอียดเพิ่มเติม
pkill
ฉันจะให้ตัวอย่างบางส่วนสำหรับ ทำงานเพื่อที่คล้ายกันkillall
pkill
pkill -f firefox
นี้จะฆ่ากระบวนการทั้งหมดที่มีสตริง 'firefox' ในคำสั่ง
หมายเหตุว่านี้จะฆ่าทุกกระบวนการที่มีสตริงfirefox
ในคำสั่ง
ตัวอย่างเช่นหากคุณมี gedit เปิดการแก้ไขไฟล์ชื่อ firefox.txt ดังนี้:
$ gedit firefox.txt &
$ pgrep -fl firefox
10959 gedit firefox.txt
30077 /usr/lib/firefox/firefox-bin
30123 /usr/lib/firefox/plugin-container /usr/lib/adobe-flashplugin/libflashplayer.so 30077 plugin true
จากนั้นจะทำpkill -f firefox
ยังจะฆ่ากระบวนการ gedit
คุณสามารถป้องกันปัญหานี้โดยบอกว่าจะฆ่าเฉพาะที่แน่นอนตรงกับที่ใช้pkill
มีสวิตช์ซึ่งมีผลเหมือนกันpkill -x /usr/lib/firefox/firefox-bin
killall
-e
คุณสามารถสร้างนามแฝงใน bash:
alias kf='pkill -f firefox'
ตอนนี้คุณสามารถใช้kf
เพื่อฆ่า firefox
wmctrlเพื่อควบคุม windows สามารถใช้ได้
wmctrl -c Firefox