หลายครั้งเราจำเป็นต้องฆ่ากระบวนการผ่านเทอร์มินัล หากเราทราบชื่อเต็มของกระบวนการ (ตัวอย่างเช่น: เคท) เราไม่มีปัญหาง่ายๆ:
killall kate
มันช่วยแก้ปัญหาให้เราได้ ... แต่จะเกิดอะไรขึ้นถ้าเราไม่รู้ชื่อที่แน่นอนของกระบวนการ?
ในโอกาสเหล่านั้นเราต้องแสดงรายการกระบวนการทั้งหมดด้วย ps aux ดังที่แสดงในภาพหน้าจอต่อไปนี้:
จากนั้นมองหา PID ของกระบวนการซึ่งในกรณีนี้เรามองหา PID ของ เคท:
kill 3808
และ voila ที่นั่นเราฆ่ากระบวนการ
ในบรรทัดเดียวเราสามารถค้นหากระบวนการ (โดยไม่ต้องรู้ชื่อเต็ม) ค้นหา PID ของมันและฆ่ามันด้วย:
ps ax | grep kat | grep -v grep | awk '{print $2}' | xargs kill
อย่างที่เห็น:
- เราแสดงรายการกระบวนการ (ps aux)
- เราไม่ทราบชื่อเต็มหรือชื่อที่แน่นอนของ เคท (เดี๋ยวก่อนอาจเป็น kate-editor หรืออะไรทำนองนั้น) ดังนั้นเราจึงกรองโดย kat (เกรปแคท)
- แต่เราจะได้รับสองกระบวนการที่เกี่ยวข้องกับ kat หากเราใช้ตัวกรองนี้เท่านั้นกระบวนการหนึ่งคือกระบวนการ kate และอีกกระบวนการหนึ่งที่เราเปิดใช้งานสำหรับการกรองฉันจะทิ้งภาพหน้าจอไว้ให้คุณเพื่อที่คุณจะได้เข้าใจ: (สังเกตว่ามี 2 บรรทัดนั่นคือ 2 กระบวนการ)
- เพื่อหลีกเลี่ยงสิ่งที่อธิบายไว้ก่อนหน้านี้เราสร้างตัวกรองอื่น (grep -v grep). สิ่งที่เราจะทำตรงกันข้าม ... ถ้าเรากรองโดยใช้ grep มันจะแสดงเฉพาะรายการที่ตรงกันกับตัวกรองเท่านั้น grep -v เราสั่งให้คุณไม่แสดงการแข่งขัน แต่ให้แสดงสิ่งที่ไม่ตรงกัน ฉันแสดงภาพหน้าจอให้คุณเห็นว่าผลลัพธ์จะเป็นอย่างไร: (โปรดทราบว่าตอนนี้มีเพียงกระบวนการของ kate เท่านั้นที่ปรากฏขึ้น)
- เรามีกระบวนการที่เราต้องการฆ่าแยกแล้วตอนนี้เราต้องแยก PID ของมันซึ่งเป็นตัวเลขที่ 2 นั่นคือ 4062. และ PID อยู่ในคอลัมน์ที่ 2 (คอลัมน์ที่ 1 ประกอบด้วยผู้ใช้ที่มี UID 1000) ดังนั้นการใช้ awk เราสามารถพูดได้ว่ามันแสดงเฉพาะจากบรรทัดนั้นสิ่งที่พบในคอลัมน์ที่ 2 (awk "{พิมพ์ $ 2}"). ซึ่งจะแสดงให้เราเห็นเฉพาะหมายเลขกระบวนการนั่นคือ PID เท่านั้นที่จะปรากฏในเทอร์มินัล
- แต่เราไม่ต้องการแสดง PID สิ่งที่เราต้องการคือฆ่ากระบวนการด้วย PID นั้น ... ดังนั้นเราจะทำเช่นนั้นเราส่งผ่านสิ่งที่เรามีจนถึงคำสั่ง ฆ่า และพร้อม (xargs ฆ่า)
- xargs หมายถึงอะไร? ... ง่ายๆในกรณีนี้เราไม่สามารถส่งผ่าน PID เพื่อฆ่าด้วยท่อเท่านั้น ( | ) แค่นี้ยังไม่พอ xargs (ที่อนุญาตให้ส่งผ่านค่าหรือข้อมูลแล้วดำเนินการหรือฆ่าพวกมัน) คือสิ่งที่จะทำให้เราทำงานให้เสร็จได้
และนี่ก็จบลง
ใช่ ... ฉันรู้ว่ามันดูซับซ้อนเล็กน้อยซึ่งเป็นเหตุผลว่าทำไมฉันถึงพยายามอธิบายให้ดีที่สุดเท่าที่จะทำได้
ฉันรู้ว่าอาจมีน้อยคนที่ต้องการคำสั่งนี้ แต่วัตถุประสงค์ของบทความนี้ก็เหมือนกับของ DesdeLinuxสอนสิ่งใหม่ๆ ให้พวกเขาทุกวัน พยายามทำให้พวกเขาเลิกกลัว Linux... และโดยส่วนตัวแล้ว ฉันอยากให้พวกเขาเรียนรู้การใช้เทอร์มินัลโดยไม่ต้องกลัว 😉
อย่างไรก็ตามฉันหวังว่าคุณจะพบว่ามันน่าสนใจฉันเรียนรู้วิธีใช้ต่อไป awk ซึ่งยอดเยี่ยมจริงๆฮิฮิ
ความนับถือ
เป็นเรื่องจริง awk มีประโยชน์มากสำหรับฉันและฉันคิดว่าใครก็ตามที่ต้องการจัดการไฟล์ข้อความที่มีโครงสร้างขอแนะนำให้รู้วิธีใช้งาน
ฉันมีคำถาม (ไม่มีส่วนเกี่ยวข้องกับอินพุต: D) คุณสร้างเอฟเฟกต์เบลอนั้น (และโปรแกรมอะไร) เพื่อให้คุณเน้นส่วนหนึ่งของภาพหน้าจอได้อย่างไร
อาศิรพจน์
การทดสอบ ถ้าสิ่งนี้มาจากรูปแบบ มันใช้งานได้และถ้าไม่ มีคนบอกฉันว่าต้องทำอย่างไร
ขอบคุณมาก
ใช่ ... ตอนนี้ฉันได้ค้นพบลินุกซ์อีกครั้งซึ่งฉันรู้วิธีทำงานกับ awk HAHAHAHA แล้ว
เกี่ยวกับเอฟเฟกต์และสิ่งนั้นไม่มีอะไร ... มันเป็นแค่ Gimp 😀
ฉันเลือกส่วนที่ต้องการเน้นตัดด้วย [Ctrl] + [X] แล้ววางเป็นเลเยอร์ใหม่จากนั้นเลือกเลเยอร์ล่าง (ซึ่งเป็นเลเยอร์ที่ฉันต้องการทึบแสง) และไปที่ Filters- » Gaussian (หรืออะไรก็ตามที่คุณเขียน hehe) และ voila
ตอนนี้เพื่อให้เอฟเฟกต์มืดฉันเพียงสร้างเลเยอร์ใหม่ (พื้นหลังสีขาว) และวางไว้ระหว่างสองสิ่งนี้ที่ฉันมีอยู่แล้วฉันให้มันเป็นสีดำและในแถบโปร่งใส (มุมขวาบน) ฉันย้ายไปที่ ฉันบรรลุผลที่ต้องการ
ทักทายและขอบคุณสำหรับความคิดเห็น🙂
ใหญ่!!
หากกระบวนการมาจากโปรแกรมที่มองเห็นได้ไม่มีอะไรสะดวกสบายไปกว่าการพิมพ์ xkill บนคอนโซลคลิกที่โปรแกรมเพื่อฆ่าและ voila
คลิกที่โปรแกรมเพื่อฆ่า
เฮ้ใช่ ... สมมติว่าคุณมี GUI ฮิฮิ
ถูกต้องนั่นคือเหตุผลที่ฉันพูดว่า "ถ้ากระบวนการมาจากโปรแกรมที่มองเห็นได้"
การคลิกปุ่มที่มีเครื่องหมาย "X" จะง่ายกว่า GNOME Shell ยังมีปุ่มนั้นอยู่ใช่ไหม :-D.
หากโปรแกรมหยุดทำงาน (ซึ่งเป็นสาเหตุหลักที่ทำให้คุณต้องฆ่ากระบวนการ) มีเหตุผลที่ปุ่มนี้จะไม่ตอบสนองไม่ว่าคุณจะกดมากแค่ไหนก็ตาม
ฉันคิดว่า GNOME Shell จะลบออกในไม่ช้าเพื่อให้คุณสามารถเห็นความมหัศจรรย์ของการปิดหน้าต่างด้วยการลากไปที่ด้านล่างของหน้าจอเหมือนใน Windows 8 ไม่จำเป็นต้องพูดว่าบนหน้าจอไวด์สกรีนเป็นการออกกำลังกายที่ยอดเยี่ยม
ฉันเข้าใจแล้ว. ในกรณีนั้นฉันชอบ Control + Alt + Esc (ใน KDE)
ฉันแทบรอไม่ไหวที่จะเห็นตัวอย่าง GNOME Shell ใหม่พวกมันเป็นของจริง
สิ่งนี้เหมือนกัน แต่เขียนน้อยกว่า
ในกรณีนี้ฉันใช้แผ่นพับเป็นตัวอย่างนั่นคือสาเหตุที่ทำให้ leaf ปรากฏใน grep
ps -e | grep leaf | awk '{print $1}' | xargs kill
ความนับถือ
วุ้ย ลูกชายของฉันลองวิ่ง "pgrep kat" ซึ่งเป็น "pgrep" เพื่ออะไรสักอย่าง
และเพื่อดำเนินการ "man pgrep" และ "man pidof" ซึ่งบางครั้ง "pidof" สามารถช่วยคุณได้
และเพื่อรัน« ps aux | grep [k] ที่ "ซึ่งจะไม่ส่งคืน" กระบวนการที่เราเปิดใช้งานสำหรับการกรอง "ที่คุณแสดงความคิดเห็นซึ่งเป็นผลให้คุณประหยัดงาน
สวัสดี!
โอ้และ "pkill" ซึ่งทำในสิ่งที่คุณกำลังมองหา ตัวอย่างเช่น "pkill kat"
โอ้น่าสนใจ ... ฉันไม่รู้จัก pgrep 🙂
ขอบคุณสำหรับเคล็ดลับ😀
ขอบคุณคุณและบทความของคุณ
โดยวิธีการใน https://flossblog.wordpress.com/2009/11/11/truco-del-dia-excluir-al-proceso-grep-en-la-salida-de-ps-aux/ แสดงความคิดเห็นเกี่ยวกับเทคนิคการใช้คำสั่งเช่น« ps aux | grep [n] program_name "พวกเขาอธิบายได้ดีกว่าฉันที่นั่น
สวัสดี!
ขอบคุณสำหรับลิงค์😀
นั่นคือสิ่งที่ดีเกี่ยวกับมันที่มีอยู่ DesdeLinux…ไม่สำคัญว่าคุณจะเป็นผู้ใช้ ผู้แก้ไข หรือผู้ดูแลระบบ เราทุกคนเรียนรู้สิ่งใหม่ๆ อยู่เสมอ 🙂
ทักทายและขอบคุณเพื่อนอีกครั้ง
ขอบคุณทุกคนมากสำหรับเวลาและความทุ่มเททำให้ควรเยี่ยมชมและอ่านเว็บไซต์นี้วันละหลาย ๆ ครั้ง
ขอบคุณอีกครั้ง.
KZKG ^ กาอาระเกือบจะเหมือนกันทุกครั้งเมื่อพูดถึงเคล็ดลับประเภทนี้มีอีกคนที่ทำเช่นเดียวกันด้วยคำสั่งง่ายๆ แต่ฉันขอแสดงความยินดีกับเขาเขามักจะมีส่วนร่วมอย่างต่อเนื่อง
เดี๋ยวก่อน…ฉันรู้วิธีทำ X osa และฉันมาที่นี่และแบ่งปันวิธีการ แต่แล้วพวกเขาก็แบ่งปันวิธีที่ง่ายกว่าในการบรรลุสิ่งเดียวกันฮ่า ๆ ๆ แต่ด้วยสิ่งนี้เราทุกคนชนะใช่มั้ย? 😀
ถูกต้อง 0 /
ฮ่าฮ่าฮ่าคุณมักจะคิดวิธีที่ซับซ้อนที่สุด 😀
ใช่ฉันคิดมาตลอดว่า: «ถ้าฉันรู้วิธีทำวิธีที่ยากฉันจะรู้วิธีเรียนรู้วิธีง่ายๆโดยไม่มีปัญหา»และ ... ในทางกลับกันมันใช้ไม่ได้เหมือนเดิมฮ่า ๆ ๆ
ปัญหาจะเกิดขึ้นถ้าเรามีสองกระบวนการที่มีชื่อคล้ายกัน
ตัวอย่างเช่นกระบวนการของเคทและอีกกระบวนการหนึ่งของ ... mmm ... สมมติว่า kater xD
ด้วยคำสั่งเช่นนี้เราจะฆ่าทั้งสองคนใช่ไหม?
ใช่มันจะเกิดขึ้น🙂
TT เคทผู้น่าสงสาร ฉันใช้คือ xkill ใน KDE ซึ่งเปิดใช้งานอย่างรวดเร็วด้วย "ctrl + alt + esc" หรือด้วย "ctrl + Esc" เปิด "กิจกรรมระบบ" และทำแบบกราฟิก ตอนนี้ต้องเรียนรู้ขั้นตอนนี้ผ่านเทอร์มินัลแม้ว่าฉันจะมีเซิร์ฟเวอร์ภายในบ้านที่มีเดเบียนที่เสถียรและไม่หยุดทำงานเลย
เยี่ยมมาก! ตอนนี้ฉันกำลังเรียนหลักสูตรเกี่ยวกับระบบปฏิบัติการและฉันต้องทำงานกับเทอร์มินัลบทช่วยสอนของคุณเป็นตัวช่วยที่ดีมาก! ขอบคุณ
อธิบายได้ดีเยี่ยมมากสำหรับบล็อกที่ฉันเพิ่งพบฉันชี้ไปที่รายการโปรด ขอขอบคุณ.
มันก็ดีแม้ว่าจะมีบางครั้งที่พวกมันฆ่าไม่ได้….
พิคล์ -9
pkill -9 "ชื่อกระบวนการ"
ในความคิดเห็นก่อนหน้านี้ฉันใส่«» แต่มันไม่ออกมา xD
ราตรีสวัสดิ์ฉันมีเวลาอ่านฟีดของคุณและวันนี้ฉันตัดสินใจลองคำสั่งนี้ ps ax | grep chrome | grep -v grep | awk '{print $ 1}' | xargs kill และฉันได้รับข้อผิดพลาดในการฆ่าต่อไปนี้: ไม่พบกระบวนการ "?" ด้วยประสบการณ์เล็กน้อยที่ฉันมีในการทุบตีฉันตัดสินใจที่จะทำการปรับเปลี่ยนบางอย่างและในที่สุดฉันก็เหลือ ps -A | grep c | grep -v grep | awk '{print $ 1}' | xargs kill เนื่องจาก ps -A ถูกใช้เพื่อแสดงกระบวนการทั้งหมดในรูปแบบสรุปและความผิดปกติที่สองคือมันโยน TTY «? » และมันได้ผลสำหรับฉันขอบคุณมากฉันชอบบล็อกของคุณคำทักทาย
ขอบคุณเปรียบเทียบคุณไม่สามารถจินตนาการถึงปัญหาที่คุณเพิ่งแก้ไขให้ฉันด้วยคำสั่งนี้
ทักทาย!
ขอบคุณ !!!!
โพสต์ที่ยอดเยี่ยม สิ่งที่ฉันกำลังมองหาและไม่รู้ว่าจะทำอย่างไรและคำอธิบายก็ดีมาก
อาศิรพจน์