ฉันจะแบ่งปัญหาของคุณออกเป็น 2 ส่วน:
1) ฉันจะค้นหากระบวนการที่เริ่มต้นโดยฉันได้อย่างไร เรียกใช้สิ่งนี้:
ps -u `whoami`
whoami
เป็นเพียงในกรณีที่คุณไม่ทราบชื่อของบัญชีที่คุณกำลังใช้มิฉะนั้นเพียงแค่พิมพ์ชื่อของบัญชีโดยไม่มีคำพูดหลัง
นี่จะแสดงรายการกระบวนการทั้งหมดที่บัญชีของคุณสามารถลบได้
2) ps
คำสั่งจะแสดงหมายเลขกระบวนการ, TTY, เวลาและ CMD ID กระบวนการคือคอลัมน์แรก ใช้หมายเลขนั้นเพื่อฆ่ากระบวนการ ระมัดระวังในขณะที่ฆ่ากระบวนการ คุณอาจทำลายบางอย่างถ้าคุณฆ่ากระบวนการที่ผิด เพื่อฆ่ากระบวนการคุณจะใช้kill
คำสั่งซึ่งจะส่งสัญญาณไปยังกระบวนการ สัญญาณบ่งชี้ว่ากระบวนการควรทำอย่างไร ตัวอย่างเช่นการส่ง-1
ไปยังกระบวนการจะขอให้โหลดไฟล์การกำหนดค่าอีกครั้ง การส่ง a -2
เทียบเท่ากับการกด Control + C ในกระบวนการนั้น -9
จะทำให้เคอร์เนลละทิ้งกระบวนการโดยไม่ต้องสื่อสารกับกระบวนการ
สมมติว่า ps -u whoami
ส่งคืนสิ่งที่ต้องการ
PID TTY TIME CMD
4333 pts/1 00:00:00 fish
4335 ? 00:00:00 fishd
4816 ? 00:00:00 intellij
4868 ? 00:50:42 java
4939 ? 00:00:19 fsnotifier64
7667 ? 02:49:08 firefox
7698 ? 00:00:00 unity-webapps-s
และคุณต้องการที่จะฆ่าfirefox
กระบวนการด้วยรหัสกระบวนการของมันแล้วคุณจะทำ:
kill -1 7667
จากนั้นคุณจะเรียกใช้ps
คำสั่งเดิมอีกครั้งและตรวจสอบว่ากระบวนการนั้นยังทำงานอยู่หรือไม่ หากยังคงทำงานอยู่ให้ทำ
kill -2 7667
-9
วิธีการทำงานของคุณขึ้นไป
kill <level> -1
จะฆ่ากระบวนการทั้งหมดที่ตั้งขึ้นโดยบัญชีของคุณป้อน เช่นเดียวกับก่อน: -9
วิธีการทำงานของคุณขึ้นไป
หากคุณรู้ชื่อของกระบวนการที่คุณสามารถไปkillall <processname>
ได้นั่นคือสิ่งที่คุณพยายามฆ่า ตัวอย่างเช่น: killall fish
(ในแง่นี้ปลาคือ Friendly Interactive SHell)
เอกสารสำหรับkillall
สามารถพบได้ที่นี่: http://manpages.ubuntu.com/manpages/hardy/man1/killall.1.html
kill -15 -1
และทำต่อไปkill -9 -1
หากมีกระบวนการที่ดื้อรั้นและฉันรู้ว่าฉันกำลังทำอะไรอยู่ กระบวนการฆ่าแบบสุ่มที่อาจอยู่ในระหว่างการทำธุรกรรมฐานข้อมูลไม่ใช่สิ่งที่เราควรทำอย่างไม่ตั้งใจตามที่คุณแนะนำ