คำถามติดแท็ก kill

kill - ส่งสัญญาณที่ระบุไปยังกระบวนการหรือกลุ่มกระบวนการ

9
ฉันจะฆ่ากระบวนการได้อย่างไรและตรวจสอบว่า PID ไม่ได้ถูกนำมาใช้ซ้ำ
ตัวอย่างเช่นสมมติว่าคุณมีเชลล์สคริปต์คล้ายกับ: longrunningthing & p=$! echo Killing longrunningthing on PID $p in 24 hours sleep 86400 echo Time up! kill $p ควรทำเคล็ดลับไม่ได้หรือไม่ ยกเว้นว่ากระบวนการนี้อาจสิ้นสุดก่อนกำหนดและ PID ของมันอาจถูกนำกลับมาใช้ใหม่หมายถึงงานที่ไร้เดียงสาบางอย่างได้รับระเบิดในคิวสัญญาณแทน ในทางปฏิบัติสิ่งนี้อาจมีความสำคัญ แต่มันทำให้ฉันกังวล การแฮ็กข้อมูลนาน ๆ เพื่อที่จะตายด้วยตัวเองหรือเก็บ / ลบ PID ของมันบน FS จะทำ แต่ฉันคิดถึงสถานการณ์ทั่วไปที่นี่
40 process  kill 


7
ฉันจะปิดเทอร์มินัลโดยไม่ฆ่าลูก ๆ ของมันได้อย่างไร
บางครั้งฉันเรียกใช้แอปใน gnome-terminal แต่ทันใดนั้นฉันต้องรีสตาร์ท gnome หรือบางอย่าง ฉันเดาว่าคำตอบสำหรับคำถามนั้นมีประโยชน์แล้วฉันต้องการตัดการเชื่อมต่อจาก SSH ซึ่งมีบางอย่างเกิดขึ้น แผนผังต้นไม้ของ Gnome มีลักษณะเช่นนี้: gnome-terminal bash some-boring-process ฉันสามารถ 'แยก' ออกbashจากgnome-terminal(หรือแยกออกsome-boring-processจากการทุบตีและเปลี่ยนเส้นทางผลลัพธ์ของมันไปที่อื่นได้หรือไม่) ถ้าฉันเพิ่งฆ่าgnome-terminalมันbashจะถูกฆ่าเพื่อกระบวนการย่อยทั้งหมดของมัน

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

1
ความแตกต่างระหว่างสัญญาณการฆ่าที่รุนแรงน้อยกว่า --HUP (1) -INT (2) และ -TERM (15)
นอกเหนือจากความรุนแรงที่สุดkill -9(SIGKILL) ฉันไม่เข้าใจความแตกต่างระหว่างสัญญาณทั่วไปอื่น ๆ อีก 3 ตัว ( ที่นี่ ) -HUP(1), 1 -INT(2) และ-TERM(15) ในสถานการณ์ใดที่หนึ่งจะทำงานและอื่น ๆ ไม่ได้? โดยทั่วไปแล้ว-9( -KILL) จะล้มเหลวเมื่อใด สำหรับผมแล้วพวกเขาดูเหมือนจะขอให้กระบวนการที่จะยุติได้อย่างสง่างาม , โดยไม่ต้องบันทึก -HUP < -TERM < -INT < -KILLการจัดอันดับความรุนแรงที่ฉันจะใส่
32 kill  signals 

2
รับพฤติกรรมของโปรแกรมเมื่อสังหาร -HUP แล้วหรือยัง
มีวิธีใดบ้างที่จะทราบว่าโปรแกรมจะทำอะไรเมื่อได้รับสัญญาณการฆ่า HUP โดยไม่ต้องรันคำสั่ง ofc: D ตัวอย่างเช่น killall -HUP pppdจะรีสตาร์ท pppd killall -HUP firefoxเพียง แต่จะฆ่า firefox
32 kill  signals 

2
ความแตกต่างระหว่าง kill, pkill และ killall คืออะไร
ผมคุ้นเคยกับkillคำสั่งและส่วนใหญ่ของเวลาที่เราเพียงแค่ใช้ฆ่า -9 จะฆ่ากระบวนการที่เข้มแข็งมีสัญญาณอื่น ๆ killอีกมากมายที่สามารถนำมาใช้กับ แต่ฉันสงสัยว่าอะไรคือกรณีการใช้งานpkillและkillallหากมีคำสั่ง kill อยู่แล้ว ทำpkillและkillallใช้killคำสั่งในการนำไปปฏิบัติหรือไม่? ฉันหมายความว่าพวกเขาเป็นเพียงแค่ห่อหุ้มkillหรือพวกเขามีการใช้งานของตัวเอง? ฉันต้องการทราบว่าpgrepคำสั่งรับรหัสกระบวนการจากชื่อกระบวนการ คำสั่งทั้งหมดเหล่านี้ใช้การเรียกระบบพื้นฐานเดียวกันหรือไม่? มีมุมมองที่แตกต่างจากประสิทธิภาพการทำงานใดบ้างเร็วกว่ากัน?

3
สัญญาณทำงานอย่างไรภายใน
โดยทั่วไปจะฆ่ากระบวนการที่เราสร้างสัญญาณเช่นSIGKILL, SIGTSTPฯลฯ แต่จะทราบได้อย่างไรว่าใครสั่งให้สัญญาณนั้นใครส่งไปยังกระบวนการเฉพาะและโดยทั่วไปสัญญาณทำงานอย่างไร สัญญาณภายในทำงานอย่างไร

1
systemd อยู่รอดการฆ่า -9 ได้อย่างไร?
ระหว่างคำถาม "ทำไม 'kill -9 0' ถึงจบเซสชันคอนโซลของฉัน" และ "วิธีการทำให้เคอร์เนลตื่นตระหนก" ฉันได้รับความรำคาญภายใต้อานของฉันและลองkill -9 1ใช้แล็ปท็อป Arch linux ที่ทันสมัยเป็นส่วนใหญ่ ฉันทำมันเป็น ID ผู้ใช้ "รูท" ฉันคาดหวังว่าจะเกิดความผิดพลาดหรือตื่นตระหนกหรือปิดเครื่อง แต่ก็ไม่มีอะไรเกิดขึ้น ฉันทำkill -9 1อีกครั้งไม่มีผล เครื่อง Arch Linux ใช้งานsystemdวันนี้ดังนั้น: systemdเอาตัวรอด kill -9 ได้อย่างไร ฉันคาดหวังว่าจะมีรหัสกรณีพิเศษในเคอร์เนล Linux 3.7 แต่อาจมีสาเหตุอื่นที่ฉันไม่ได้คิด สิ่งอื่น ๆ ที่ทำงานด้วย PID 1 คืออะไร Slackware ยังคงใช้initฉันเชื่อ แต่ฉันกลัวที่จะลองบนเซิร์ฟเวอร์ Slackware ที่ใช้งานจริงของฉัน DD-WRT บนเราเตอร์ไร้สายของฉันรัน / sbin …


2
ฉันจะฆ่ากระบวนการ <defunct> ที่ parent เป็นผู้เริ่มต้นได้อย่างไร
การส่งกำลังแขวนอยู่บน NAS ของฉันเป็นระยะ ถ้าฉันส่ง SIGTERM มันจะไม่หายไปจากรายการกระบวนการและ&lt;defunct&gt;ฉลากจะปรากฏขึ้นถัดจากมัน ถ้าผมส่ง SIGKILL initก็ยังคงไม่ได้หายไปและผมก็ไม่สามารถยุติแม่เพราะแม่เป็น วิธีเดียวที่ฉันสามารถกำจัดกระบวนการและรีสตาร์ทเกียร์คือการรีบูต ฉันตระหนักถึงสิ่งที่ดีที่สุดที่ฉันสามารถทำได้คือลองและแก้ไขการส่งข้อมูล (และฉันพยายามแล้ว) แต่ฉันเป็นผู้เริ่มต้นในการรวบรวมและฉันต้องการให้แน่ใจว่า torrents ของฉันเสร็จสิ้นก่อนที่ฉันจะเริ่มยุ่งกับมัน

7
แก้ไขปัญหา“ firefox is ทำงานแล้ว” ใน Linux
ฉันพยายามเปิด Firefox ใน CentOS แต่ฉันได้รับข้อความต่อไปนี้: Firefox กำลังทำงานอยู่ แต่ไม่ตอบสนอง และ Firefox ไม่เปิด ฉันลองในบรรทัดคำสั่ง: kill Firefox แต่มันไม่ทำงาน นอกจากนี้ฉันไม่ทราบว่าไดเรกทอรีใดที่ฉันต้องเรียกใช้คำสั่งที่ถูกต้อง ฉันจะแก้ไขสิ่งนี้ได้อย่างไร
27 process  kill  firefox 

2
เมื่อคุณพยายามที่จะยุติกระบวนการที่ดีคุณควรใช้ตัวเลือก“ ฆ่า” แบบใด?
ฉันได้รับข้อความมากมายจากผู้คนและสงสัยว่าจริงๆแล้วมันมีความแตกต่างไม่มากในสิ่งที่คุณใช้ kill 'x' killall 'x' kill -9 'x' นี่คือตัวเลือกบางอย่างที่ฉันได้รับคำสั่งให้ใช้จนถึงตอนนี้ แต่บางคนบอกว่า kill -9 เป็นเพียง overkill การฆ่าด้วยตัวเองไม่ทำงาน ฯลฯ ใครบ้างมีคำแนะนำใด ๆ ที่ควรใช้ในกรณีมาตรฐานมากที่สุดเพียงแค่ยกเลิกกระบวนการ (และทำให้สถานะของมันเช่นกัน)? [แก้ไข] ฉันกำลังมองหาสิ่งที่จะใช้เมื่อคุณต้องการที่จะหยุดการดำเนินการของกระบวนการของคุณเพื่อให้คุณสามารถเรียกใช้ใหม่สดจากจุดเริ่มต้น
26 process  kill  signals 

2
ฉันจะฆ่ามัลแวร์ที่น่าสนใจบนอินสแตนซ์ AWS EC2 ได้อย่างไร (เซิร์ฟเวอร์ที่ถูกบุกรุก)
ฉันพบมัลแวร์บนอินสแตนซ์ ec2 ของฉันซึ่งขุด bitcoin อย่างต่อเนื่องและใช้พลังการประมวลผลของฉัน ฉันระบุกระบวนการได้สำเร็จ แต่ไม่สามารถลบและฆ่าได้ ฉันรันคำสั่งนี้ watch "ps aux | sort -nrk 3,3 | head -n 5" มันแสดงกระบวนการห้าอันดับแรกที่ทำงานบนอินสแตนซ์ของฉันซึ่งฉันพบว่ามีชื่อกระบวนการ ' bashd ' ซึ่งกินซีพียู 30% กระบวนการนี้เป็น bashd -a cryptonight -o stratum+tcp://get.bi-chi.com:3333 -u 47EAoaBc5TWDZKVaAYvQ7Y4ZfoJMFathAR882gabJ43wHEfxEp81vfJ3J3j6FQGJxJNQTAwvmJYS2Ei8dbkKcwfPFst8FhG -p x ฉันฆ่ากระบวนการนี้โดยใช้kill -9 process_idคำสั่ง หลังจาก 5 วินาทีกระบวนการเริ่มต้นอีกครั้ง
26 linux  process  kill  malware 

2
เหตุใดฉันจึงไม่สามารถฆ่ากระบวนการ SIGSTOP ด้วย SIGTERM และสัญญาณที่ค้างอยู่ถูกเก็บไว้ที่ไหน
ฉันกำลังใช้ Debian stretch (systemd) ฉันใช้ rsyslog daemon ในโหมดเบื้องหน้าโดยใช้ /usr/sbin/rsyslogd -n และฉันได้Ctrl+ Zเพื่อหยุดมัน สถานะของกระบวนการเปลี่ยนเป็นTl(หยุดทำงาน, เธรด) ฉันออกคำสั่งหลายคำสั่งให้กับกระบวนการและสถานะของกระบวนการเหมือนกัน: . เมื่อฉันทำมันก็ตาย ฉันมี 3 คำถามkill -15 &lt;pid&gt;Tlfg ทำไมเป็นSIGSTOPกระบวนการ -ed ไม่ตอบสนองต่อSIGTERM? ทำไมเคอร์เนลจึงเก็บมันไว้ในสถานะเดียวกัน ทำไมมันถึงถูกฆ่าทันทีที่ได้รับSIGCONTสัญญาณ หากเป็นเพราะSIGTERMสัญญาณก่อนหน้านี้จะถูกเก็บไว้ที่ไหนจนกว่ากระบวนการจะกลับมาทำงานต่อ
24 process  kill  signals 

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.