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

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

5
วิธีทำให้ `xargs 'ไม่สนใจการออกจากเด็กและดำเนินการต่อไป
บางครั้งฉันทำงานนานมากในxargsชั่วข้ามคืนและมันน่ารำคาญจริง ๆ ที่ค้นพบในตอนเช้าที่xargsเสียชีวิตตรงกลางตัวอย่างเช่นเกิดจากความผิดพลาดในการแบ่งเซ็กเมนต์ในกรณีพิเศษหนึ่งกรณีเช่นเดียวกับที่เกิดขึ้นในคืนนี้ หากแม้กระทั่งxargsเด็กหนึ่งคนถูกฆ่าก็จะไม่ดำเนินการอินพุตอีกต่อไป: คอนโซล 1: [09:35:48] % seq 40 | xargs -i --max-procs=4 bash -c 'sleep 10; date +"%H:%M:%S {}";' xargs: bash: terminated by signal 15 09:35:58 3 09:35:58 4 09:35:58 2 <Exit with code 125> คอนโซล 2: [09:35:54] kill 5601 ฉันสามารถป้องกันไม่ให้xargsหยุดเพื่อประมวลผลอินพุตอีกต่อไปเมื่อกระบวนการลูกตายและดำเนินการแทนต่อไปได้หรือไม่?
24 kill  xargs  signals 

2
เหตุใดการพิมพ์ Ctrl + c สองครั้งจึงหยุดกระบวนการทำงานใน Linux
มีโปรแกรม Linux เช่น vlc ที่แนะนำให้พิมพ์ctrl+ cสองครั้งเพื่อฆ่าการเรียกใช้งานจากเทอร์มินัลหากโปรแกรมไม่หยุดทำงานหลังจากโปรแกรมแรก เหตุใดการพิมพ์ctrl+ cสองครั้งจึงทำงานไม่ได้ในครั้งแรก
24 kill  signals 

5
ฉันจะฆ่าและรอให้กระบวนการส่วนหลังเสร็จสิ้นในเชลล์สคริปต์ได้อย่างไรเมื่อฉัน Ctrl + C
ฉันกำลังพยายามตั้งค่าเชลล์สคริปต์เพื่อให้ทำงานในกระบวนการแบ็คกราวน์และเมื่อฉันCtrlcเชลล์สคริปมันจะฆ่าเด็ก ๆ แล้วก็ออกไป สิ่งที่ดีที่สุดที่ฉันสามารถทำได้คือ ดูเหมือนว่าkill 0 -INTสคริปต์ยังฆ่าสคริปต์ก่อนที่จะเกิดการรอดังนั้นเชลล์สคริปต์จะตายก่อนที่เด็ก ๆ จะเสร็จสมบูรณ์ ความคิดใด ๆ เกี่ยวกับวิธีการที่ฉันสามารถทำให้รอเชลล์สคริปต์สำหรับเด็กที่จะตายหลังจากที่ส่งINT? #!/bin/bash trap 'killall' INT killall() { echo "**** Shutting down... ****" kill 0 -INT wait # Why doesn't this wait?? echo DONE } process1 & process2 & process3 & cat # wait forever

4
กระบวนการสังหารเกิดโดย ssh เมื่อ ssh ตาย
นี่เป็นคำถามที่ได้รับการแก้ไขหลายครั้งไม่เพียง แต่ที่นี่ แต่ยังอยู่ในไซต์อื่น ๆ ของเครือข่ายแลกเปลี่ยนสแต็ก (เช่นวิธีทำให้ ssh เพื่อฆ่ากระบวนการระยะไกลเมื่อฉันขัดจังหวะ ssh เอง ) อย่างไรก็ตามฉันไม่สามารถแก้ปัญหาใด ๆ ได้สำหรับฉัน ฉันใช้คำสั่งผ่าน ssh เมื่อใดก็ตามที่ฉันออกจาก ssh ฉันต้องการให้คำสั่งตายเช่นกัน คำสั่งนี้เป็น daemon ชื่อ ktserver ที่รันไปเรื่อย ๆ จนกว่าคุณจะกด Ctrl-C ฉันรันมันดังนี้: ssh -t compute-0-1 ktserverและแน่นอนเมื่อฉันกด Ctrl-C กระบวนการจะสิ้นสุดลงอย่างสวยงามและสิ้นสุดเซสชัน ssh อย่างไรก็ตามถ้าแทนที่จะกด Ctrl-C ฉันจะฆ่ากระบวนการ ssh โดยใช้killคำสั่ง (ตัวอย่างเช่นการส่ง SIGINT หรือ SIGHUP) ktserverกระบวนการจะยังคงอยู่ ฉันจะทำให้คนktserverตายมักเป็นอิสระจากการsshถูกฆ่าได้อย่างไร แก้ไข : หากแทนที่จะให้ktserverฉันทำบางสิ่งที่แตกต่างอย่างสิ้นเชิงเช่นgeditทุกอย่างทำงานเหมือนมีเสน่ห์ (เช่น …
23 ssh  kill 


1
kill 0 ทำอะไรได้จริง [ปิด]
ปิด. คำถามนี้เป็นคำถามปิดหัวข้อ ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้เป็นไปตามหัวข้อสำหรับ Unix & Linux Stack Exchange ปิดให้บริการใน2 ปีที่ผ่านมา ในman page, มันบอกว่า: kill [ -s signal | -p ] [ -a ] [ -- ] pid ... pid... Specify the list of processes that kill should signal. Each pid can be one of five things: 0 All …

5
จะฆ่า soft gui applications ผ่านเทอร์มินัลได้อย่างไร
มีวิธีปิดแอปพลิเคชัน GUI อย่างเป็นมิตร " โปรดออกจากตัวคุณเองตอนนี้ " วิธีโดยไม่ต้องเข้าถึงกราฟิกไปยังหน้าต่างแอปพลิเคชันหรือไม่? ตัวอย่างเช่นหากจอแสดงผล Gnome / X ขัดข้องเป็นสีดำฉันต้องการเปลี่ยนไปใช้แอปพลิเคชัน tty2 และปิดเช่น firefox ด้วยวิธีที่ช่วยให้พวกเขาบันทึกการกำหนดค่าของพวกเขา ฯลฯ ที่ดีที่สุดโดยไม่ต้องสอบถามผู้ใช้เพิ่มเติม

4
วิธีฆ่าหลายกระบวนการ
ค้นหา PID ของกระบวนการเพื่อฆ่าการใช้: pgrep <process command> ฉันใช้คำสั่ง kill เพื่อฆ่า PID ที่ส่งคืนโดย pgrep <process command> kill <PID> คำสั่งเหล่านี้สามารถนำมารวมกันเป็นหนึ่งเพื่อให้สามารถฆ่า PID หรือ PID กลับโดยpgrep <process command>? หรือมีวิธีการฆ่าหลายกระบวนการด้วยชื่อคำสั่ง? สิ่งที่ต้องการ : kill(pgrep <name of process>)

2
จะฆ่ากระบวนการที่ระบุว่า "ไม่อนุญาตให้ดำเนินการ" เมื่อพยายามทำอย่างไร
ฉันมีกระบวนการที่ฉันต้องการฆ่า: computer@ubuntu:~$ ps aux | grep socat root 2092 0.0 0.0 5564 1528 pts/1 T 14:37 0:00 sudo socat TCP:xxx.17.29.152:54321 PTY,link=/dev/ttyGPS0,raw,echo=0,mode=666 computer@ubuntu:~$ kill 2092 -bash: kill: (2092) - Operation not permitted <--------------- How to kill ??
20 sudo  kill 

2
วิธียกเลิกคำสั่ง Linux โดยไม่ทำลายแอปพลิเคชันที่ได้รับ
ฉันมีสคริปต์ทุบตีที่ทำงานตราบใดที่เครื่อง Linux เปิดอยู่ ฉันเริ่มมันดังแสดงด้านล่าง: ( /mnt/apps/start.sh 2>&1 | tee /tmp/nginx/debug_log.log ) & หลังจาก lauches ฉันสามารถดูคำสั่ง tee ในเอาต์พุตpsของฉันได้ดังแสดงด้านล่าง $ ps | grep tee 418 root 0:02 tee /tmp/nginx/debug_log.log 3557 root 0:00 grep tee ฉันมีฟังก์ชั่นที่ตรวจสอบขนาดของบันทึกที่teeสร้างและฆ่าคำสั่งteeเมื่อบันทึกถึงขนาดที่แน่นอน: monitor_debug_log_size() { ## Monitor the file size of the debug log to make sure it does not …
19 linux  scripting  pipe  kill  tee 

4
ทางเลือกอื่นในการฆ่ากระบวนการซอมบี้
ฉันเพิ่งสังเกตเห็นกระบวนการซอมบี้ใน CentOS 6.8 (รอบชิงชนะเลิศ) พยายามฆ่าพวกเขา แต่พวกเขายังคงอยู่ที่นั่น: [root@host user]# ps -ef | grep git tomcat 746 1 0 Jul18 ? 00:00:00 git clone https://github.com/angular/bower-angular.git -b v1.3.20 --progress . --depth 1 tomcat 747 746 0 Jul18 ? 00:00:00 [git-remote-http] <defunct> root 20776 20669 0 09:03 pts/3 00:00:00 grep git tomcat 29970 1 …
19 process  kill 


4
วิธีการฆ่ากระบวนการด้วยคำสั่งเดียว?
ฉันต้องการฆ่ากระบวนการหลังจากค้นหารหัสในขั้นตอนเดียว ฉันใช้คำสั่งสองคำสั่งต่อไปนี้: pidof <name> kill <#number_which_is_result_of_command> ฉันจะเขียนคำสั่งเดียวเพื่อทำสิ่งนี้ได้อย่างไร

1
งาน“ ปฏิเสธที่จะหยุด” ในการระงับได้อย่างไร
เมื่อวานเมื่อปิดแล็ปท็อปของฉันมันไม่ได้เข้าสู่โหมดสแตนด์บายทันที ตามบันทึกมันพยายาม แต่งานปฏิเสธที่จะหยุด: Freezing of tasks failed after 20.005 seconds (1 tasks refusing to freeze, wq_busy=0): สิ่งนี้ดำเนินต่อไปอีกสองสามชั่วโมงจนกระทั่งระบบหยุดทำงานจริง syslogก็เต็มไปด้วยข้อความเช่นในคำถามนี้เพราะsystemdได้พยายามอีกครั้งและอีกครั้ง สิ่งนี้จะเกิดขึ้นได้อย่างไร? เหตุใดตัวกำหนดตารางเวลาไม่สามารถหยุดกำหนดเวลาแอปพลิเคชันนั้นได้ แล้วมันจะแข็งตัวอย่างมีประสิทธิภาพหรือไม่ ฉันอ่านว่ามีหลายSTOPคำสั่งหนึ่งในนั้นถามอย่างดีและหนึ่งในนั้นบังคับให้หยุด เหตุใดจึงsystemdไม่ใช้สิ่งนี้หรือเหตุใดจึงไม่ทำงานที่นี่
17 debian  kill  suspend 

2
ทำไมทุบตีแสดง 'ยุติ' หลังจากฆ่ากระบวนการ?
นี่คือพฤติกรรมที่ฉันต้องการเข้าใจ: $ ps PID TTY TIME CMD 392 ttys000 0:00.20 -bash 4268 ttys000 0:00.00 xargs $ kill 4268 $ ps PID TTY TIME CMD 392 ttys000 0:00.20 -bash [1]+ Terminated: 15 xargs $ ps PID TTY TIME CMD 392 ttys000 0:00.21 -bash ทำไมมันแสดงให้เห็น[1]+ Terminated: 15 xargsหลังจากที่ฉันฆ่ากระบวนการแทนที่จะไม่แสดงมันอย่างที่มันเพิ่งถูกฆ่า? ฉันใช้ทุบตีบน Mac OS X …
17 bash  process  kill 

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