วันนี้ Ubuntu (และ GNU / Linux distros ส่วนใหญ่) มีไฟล์ ส่วนต่อประสานผู้ใช้ที่ซับซ้อนซึ่งทำให้ผู้ใช้สามารถใช้ระบบโดยแทบไม่รู้อะไรเลยและก็ไม่เป็นไร เริ่มต้นจากสมมติฐานที่ว่าผู้ใช้ไม่จำเป็นต้องมีความรู้ขั้นสูงและนั่นคือเหตุผลที่การใช้ Ubuntu และ GNU / Linux โดยทั่วไปนั้นใช้งานง่ายมากขึ้น
ตอนนี้ การรู้ว่าสิ่งที่เราใช้งานอยู่นั้นทำงานอย่างไร นอกจากนี้ เรารู้ว่าหากคุณใช้ GNU/Linux ส่วนหนึ่งเป็นเพราะความไม่เห็นด้วย ความอยากรู้อยากเห็น และความปรารถนาที่จะเรียนรู้ ดังนั้นเข้า Ubunlog เราต้องการเขียนบทความทางเทคนิคเพิ่มเติมและแสดงให้คุณเห็น มีกระบวนการอย่างไรและทำงานอย่างไร ใน Ubuntu เราจะสอนให้คุณแสดงรายการกระบวนการที่กำลังทำงานอยู่เพื่อค้นหากระบวนการที่เฉพาะเจาะจงและฆ่าพวกมัน เราเริ่ม.
อย่างที่เราทราบกันดีว่า Ubuntu (GNU / Linux) เป็นระบบปฏิบัติการแบบมัลติทาสก์ ซึ่งหมายความว่าสามารถดำเนินการหลายกระบวนการ (งาน) พร้อมกันโดยไม่มีปัญหาระหว่างกัน
แต่…กระบวนการคืออะไร?
กระบวนการไม่มีอะไรมากไปกว่าอินสแตนซ์ของโปรแกรม หรือพูดอีกอย่างโปรแกรมก็ไม่มีอะไรมากไปกว่าชุดของกระบวนการที่กำลังทำงานอยู่ ดังนั้นในคำเรียกขานกระบวนการสามารถเข้าใจได้ว่าเป็นโปรแกรมที่กำลังทำงานอยู่
กระบวนการดังที่คุณบางคนทราบอยู่แล้วสามารถดำเนินการได้สองวิธี ใน เบื้องหน้า (เบื้องหน้า) หรือใน พื้นหลัง (ในพื้นหลัง)
นอกจากนี้สำหรับคนที่อยากรู้อยากเห็นมากที่สุดกระบวนการนี้ยังมีไฟล์ Estadoเนื่องจากมันไม่เพียงเท่านั้น วิ่ง. ตัวอย่างเช่นกระบวนการ A เปิดกระบวนการอื่น B, A กลายเป็นที่รู้จักกันในชื่อกระบวนการ พ่อ และ B เป็นกระบวนการ บุตรชาย (เด็ก). บ่อยครั้งเมื่อสิ่งนี้เกิดขึ้น A อยู่ในสถานะ ระงับ.
เราสามารถดูได้จากตัวอย่าง:
Si เราเปิด Terminal ใน Ubuntu ของเราเราได้เปิดตัวกระบวนการใหม่แล้วเนื่องจากเทอร์มินัลเป็นอีกโปรแกรมหนึ่ง เกิดอะไรขึ้นถ้า จาก Terminal เราเปิดโปรแกรมอื่นเราจะเห็นว่ามันถูกระงับ นั่นคือถ้าเมื่อ Terminal เปิดอยู่เราจะดำเนินการ:
gedit f_test
เพื่อเปิดไฟล์ใหม่ที่เรียกว่า f_test (ด้วยโปรแกรมแก้ไขข้อความ Gedit) เราจะเห็นว่าเทอร์มินัลถูกระงับและ "เราไม่สามารถใช้งานได้อีกต่อไป" หากเราต้องการใช้ Terminal เดียวกันต่อไปหลังจากเปิดตัวกระบวนการเพียงแค่เปิดใช้งานใน พื้นหลัง (พื้นหลัง) นั่นคือเพียงพอแล้วที่เราจะดำเนินการ:
gedit f_test &
สัญลักษณ์ "&" แสดงว่าเราต้องการให้กระบวนการนี้ดำเนินการในรูปแบบ พื้นหลัง. ด้วยวิธีนี้เมื่อเริ่มกระบวนการแล้วเราสามารถใช้ Terminal ต่อได้เนื่องจากจะไม่ถูกระงับและกระบวนการทั้งสองจะยังคงทำงานได้ตามปกติ
ฉันจะรู้ได้อย่างไรว่ากระบวนการใดกำลังทำงานบน Ubuntu
หากต้องการดูรายการกระบวนการที่กำลังทำงานอยู่เพียงแค่เปิด Terminal แล้วเรียกใช้:
ป.ล.
และเราจะเห็นผลลัพธ์ดังต่อไปนี้:
ข้อมูลเดียวที่เราสนใจจากรายการคือไฟล์ PID. PID (Process Identifier) เป็นจำนวนเต็มที่ชื่อบ่งชี้มีหน้าที่ในการระบุกระบวนการเดียว
นอกจากนี้ Ubuntu (และ GNU / Linux distros ทั้งหมด) มีไฟล์ที่กำหนดค่าสูงสุดของ PID สิ่งนี้กำหนด จำนวนสูงสุดของกระบวนการที่จะรัน. ไฟล์นี้เรียกว่า pid_max และอยู่ในไดเร็กทอรี / proc / sys / kernel / หากคุณต้องการดูเนื้อหาอย่างรวดเร็วเพียงแค่เรียกใช้:
cat / proc / sys / kernel / pid_max
และคุณจะเห็นว่าโดยค่าเริ่มต้นจำนวนกระบวนการสูงสุดที่สามารถดำเนินการได้คือ 32768 สิ่งสำคัญคือคุณต้องดำเนินการอย่างระมัดระวังเมื่อย้ายผ่านไดเรกทอรีเหล่านี้เนื่องจากการเปลี่ยนแปลงที่ไม่ดีอาจถึงแก่ชีวิตได้
ในทางกลับกันถ้าเราต้องการ ค้นหากระบวนการที่เกี่ยวข้องกับโปรแกรมบางโปรแกรม เราสามารถใช้ไปป์และคำสั่ง grep เพื่อกรองผลลัพธ์ นั่นคือตัวอย่างเช่นหากเราต้องการดูกระบวนการทั้งหมดที่เกี่ยวข้องกับ Gimp เราสามารถดำเนินการ:
ps-aux | grep gimp
อย่างที่คุณเห็นในกรณีของฉันมี 3 กระบวนการที่เกี่ยวข้องกับ Gimp
และ ... ฉันจะฆ่ากระบวนการได้อย่างไร?
การฆ่ากระบวนการหมายถึงการสิ้นสุดโดยส่งสัญญาณที่เกี่ยวข้องเพื่อให้กระบวนการสิ้นสุดลง ทำได้ง่ายเพียงแค่ใช้คำสั่ง ฆ่า. นี่คือที่ที่เราต้องรู้ PID ของกระบวนการที่เราต้องการฆ่า ในตัวอย่างข้างต้นสมมติว่าฉันต้องการฆ่ากระบวนการ Gimp ที่มี 5649 เป็น PID แค่เรียกใช้:
ฆ่า 5649
ตอนนี้ฉันจะฆ่าในครั้งเดียวได้อย่างไร กระบวนการทั้งหมดที่เกี่ยวข้องกับโปรแกรมเหรอ? ง่ายมากด้วย หากในกรณีของฉันฉันต้องการฆ่ากระบวนการ Gimp ทั้งหมดฉันสามารถใช้คำสั่ง ฆ่า. ดังต่อไปนี้:
พิคิล กิมป์
สิ่งนี้จะฆ่า ทั้งหมด กระบวนการ Gimp นั่นคือประมวลผลด้วย PIDs 5649, 5719 และ 5782 ง่ายใช่มั้ย? หากโปรแกรมหยุดทำงานและคุณไม่รู้ว่าจะจบอย่างไรตอนนี้คุณมีวิธีแก้ไขที่เป็นไปได้😉
เราหวังว่าคำแนะนำเล็ก ๆ น้อย ๆ นี้จะช่วยให้คุณเข้าใจดีขึ้นเล็กน้อยว่า Ubuntu และ Linux ทำงานโดยทั่วไปอย่างไร การรู้วิธีการทำงานและจัดการกระบวนการเป็นพื้นฐานใน Linux และในเวลาเดียวกันก็สำคัญมาก ถึงกระนั้นเราก็ทราบดีว่าคู่มือนี้ค่อนข้างเรียบง่ายและกระชับดังนั้นหากคุณอยากรู้อยากเห็นและต้องการเจาะลึกเรื่องนี้สักหน่อยคุณสามารถดูได้ที่ วงจรชีวิตของกระบวนการ หรือที่ Linux Scheduler (ผู้วางแผนกระบวนการ).
จนกว่าจะถึงเวลาต่อไป😉
Que bien
ฉันกำลังมองหาคำแนะนำใน pdf ที่อธิบายให้ฉันทราบผ่านไดอะแกรมวิธีจัดการกระบวนการใน Linux Ubuntu ด้วยกราฟิกสิ่งที่เห็นได้ดีกว่า