การจัดการกระบวนการ Linux/Unix: ps, kill, top, df, ฟรี, คำสั่งที่ดี
กระบวนการคืออะไร?
อินสแตนซ์ของโปรแกรมเรียกว่ากระบวนการ พูดง่ายๆ ก็คือ คำสั่งใดๆ ที่คุณให้กับเครื่อง Linux ของคุณจะเป็นการเริ่มต้นกระบวนการใหม่
การมีหลายกระบวนการสำหรับโปรแกรมเดียวกันนั้นเป็นไปได้
ประเภทของกระบวนการ:
- กระบวนการเบื้องหน้า: พวกมันทำงานบนหน้าจอและต้องการข้อมูลจากผู้ใช้ เช่น โปรแกรมออฟฟิศ
- กระบวนการเบื้องหลัง: โดยจะทำงานอยู่เบื้องหลังและมักไม่จำเป็นต้องป้อนข้อมูลจากผู้ใช้ ตัวอย่างเช่น โปรแกรมป้องกันไวรัส
คลิก Good Farm Animal Welfare Awards หากไม่สามารถเข้าถึงวิดีโอได้
เรียกใช้กระบวนการเบื้องหน้า
หากต้องการเริ่มกระบวนการเบื้องหน้า คุณสามารถเรียกใช้จากแดชบอร์ดหรือเรียกใช้จากเทอร์มินัลก็ได้
เมื่อใช้ Terminal คุณจะต้องรอจนกว่ากระบวนการเบื้องหน้าจะทำงาน
เรียกใช้กระบวนการเบื้องหลัง
หากคุณเริ่มโปรแกรม/กระบวนการเบื้องหน้าจากเทอร์มินัล คุณจะไม่สามารถทำงานบนเทอร์มินัลได้จนกว่าโปรแกรมจะเริ่มทำงาน
งานที่ใช้ข้อมูลจำนวนมากต้องใช้พลังประมวลผลมากและอาจใช้เวลานานถึงหลายชั่วโมงจึงจะเสร็จสมบูรณ์ คุณคงไม่อยากให้เครื่องของคุณต้องหยุดทำงานเป็นเวลานานขนาดนั้น
เพื่อหลีกเลี่ยงสถานการณ์ดังกล่าว คุณสามารถรันโปรแกรมและส่งมันไปที่พื้นหลังเพื่อให้เทอร์มินัลยังคงพร้อมใช้งานสำหรับคุณ มาเรียนรู้วิธีการทำเช่นนี้กันเถอะ –
Fg
คุณสามารถใช้คำสั่ง “fg” เพื่อดำเนินโปรแกรมที่หยุดทำงานและนำไปไว้เบื้องหน้าต่อไป
ไวยากรณ์อย่างง่ายสำหรับยูทิลิตี้นี้คือ:
fg jobname
ตัวอย่าง
- เปิดตัวเครื่องเล่นเพลง 'banshee'
- หยุดด้วยคำสั่ง 'ctrl +z'
- ดำเนินการต่อด้วยยูทิลิตี้ 'fg'
มาดูคำสั่งสำคัญอื่นๆ ในการจัดการกระบวนการกัน
Top
ยูทิลิตี้นี้แจ้งให้ผู้ใช้ทราบเกี่ยวกับกระบวนการทำงานทั้งหมดบนเครื่อง Linux
กด 'q' บนแป้นพิมพ์เพื่อย้ายออกจากหน้าจอกระบวนการ
คำศัพท์ดังต่อไปนี้:
สนาม | Descriptไอออน | 1 ตัวอย่าง | 2 ตัวอย่าง |
---|---|---|---|
PID | ID กระบวนการของแต่ละงาน | 1525 | 961 |
ผู้ใช้งาน | ชื่อผู้ใช้ของเจ้าของงาน | หน้าแรก | ราก |
PR |
ลำดับความสำคัญ
สามารถเป็น 20(สูงสุด) หรือ -20(ต่ำสุด) |
20 | 20 |
NI | คุณค่าที่ดีของงาน | 0 | 0 |
วีอาร์ที | หน่วยความจำเสมือนที่ใช้ (kb) | 1775 | 75972 |
RES | หน่วยความจำกายภาพที่ใช้ (kb) | 100 | 51 |
SHR | หน่วยความจำที่ใช้ร่วมกันที่ใช้ (kb) | 28 | 7952 |
S |
สถานะ มีห้าประเภท: 'D' = การนอนหลับอย่างต่อเนื่อง 'ร' = กำลังวิ่ง 'S' = นอนหลับ 'T' = ติดตามหรือหยุด 'Z' = ซอมบี้ |
S | R |
% ของ CPU | % ของเวลา CPU | 1.7 | 1.0 |
%บันทึก | หน่วยความจำกายภาพที่ใช้ | 10 | 5.1 |
เวลา+ | เวลา CPU ทั้งหมด | 5:05.34 | 2:23.42 |
คำสั่ง | ชื่อคำสั่ง | Photoshop.exe | Xorg |
PS
คำสั่งนี้ย่อมาจาก 'สถานะกระบวนการ' คล้ายกับ “ตัวจัดการงาน” ที่ป๊อปอัปในไฟล์ Windows เครื่องเมื่อเราใช้ Ctrl+Alt+Del คำสั่งนี้จะคล้ายกับคำสั่ง 'top' แต่ข้อมูลที่แสดงจะแตกต่างกัน
หากต้องการตรวจสอบกระบวนการทั้งหมดที่ทำงานภายใต้ผู้ใช้ ให้ใช้คำสั่ง –
ps ux
คุณยังสามารถตรวจสอบสถานะกระบวนการของกระบวนการเดียวได้ ใช้ไวยากรณ์ –
ps PID
ฆ่า
คำสั่งนี้ ยุติกระบวนการที่กำลังทำงานอยู่ บนเครื่อง Linux
หากต้องการใช้ยูทิลิตี้เหล่านี้ คุณจำเป็นต้องทราบ PID (รหัสกระบวนการ) ของกระบวนการที่คุณต้องการฆ่า
ไวยากรณ์ –
kill PID
หากต้องการค้นหา PID ของกระบวนการ เพียงพิมพ์
pidof Process name
เราลองมาดูด้วยตัวอย่างกัน
NICE
Linux สามารถรันกระบวนการได้จำนวนมากในแต่ละครั้ง ซึ่งสามารถชะลอความเร็วของกระบวนการที่มีลำดับความสำคัญสูงบางกระบวนการ และส่งผลให้ประสิทธิภาพลดลง
เพื่อหลีกเลี่ยงปัญหานี้ คุณสามารถบอกให้เครื่องจักรของคุณจัดลำดับความสำคัญของกระบวนการตามความต้องการของคุณได้
ลำดับความสำคัญนี้เรียกว่า Niceness ใน Linux และมีค่าระหว่าง -20 ถึง 19 ยิ่งดัชนี Niceness ต่ำเท่าใด ลำดับความสำคัญที่กำหนดให้กับงานก็จะยิ่งสูงขึ้นเท่านั้น
ค่าเริ่มต้นของกระบวนการทั้งหมดคือ 0
หากต้องการเริ่มกระบวนการด้วยค่าความน่ารักอื่นนอกเหนือจากค่าเริ่มต้น ให้ใช้รูปแบบต่อไปนี้
nice -n 'Nice value' process name
หากมีกระบวนการบางอย่างที่ทำงานอยู่บนระบบอยู่แล้ว คุณสามารถ 'รับ' ค่าของกระบวนการนั้นได้โดยใช้ไวยากรณ์
renice 'nice value' -p 'PID'
หากต้องการเปลี่ยน Niceness คุณสามารถใช้คำสั่ง 'top' เพื่อกำหนด PID (รหัสกระบวนการ) และค่า Nice Later ใช้คำสั่ง renice เพื่อเปลี่ยนค่า
ให้เราเข้าใจสิ่งนี้ด้วยตัวอย่าง
DF
ยูทิลิตี้นี้รายงานพื้นที่ว่างในดิสก์ (ฮาร์ดดิสก์) ในระบบไฟล์ทั้งหมด
หากคุณต้องการข้อมูลข้างต้นในรูปแบบที่สามารถอ่านได้ ให้ใช้คำสั่ง
'df -h'
ฟรี
คำสั่งนี้แสดงหน่วยความจำที่ว่างและใช้งานแล้ว (RAM) บนระบบ Linux
คุณสามารถใช้ข้อโต้แย้งได้
free -m เพื่อแสดงเอาต์พุตเป็น MB
free -g เพื่อแสดงเอาต์พุตเป็น GB
สรุป:
- โปรแกรมที่ทำงานอยู่หรือคำสั่งใดๆ ที่มอบให้กับระบบ Linux เรียกว่ากระบวนการ
- กระบวนการสามารถทำงานในเบื้องหน้าหรือเบื้องหลังได้
- ดัชนีลำดับความสำคัญของกระบวนการเรียกว่า Nice ใน Linux ค่าเริ่มต้นคือ 0 และอาจแตกต่างกันได้ระหว่าง 20 ถึง -19
- ยิ่งดัชนี Niceness ต่ำ ลำดับความสำคัญของงานนั้นก็จะยิ่งสูงขึ้น
คำสั่ง | Descriptไอออน |
---|---|
bg | เพื่อส่งกระบวนการไปที่พื้นหลัง |
fg | เพื่อรันกระบวนการที่หยุดทำงานในเบื้องหน้า |
ด้านบน | รายละเอียดเกี่ยวกับกระบวนการที่ใช้งานอยู่ทั้งหมด |
ps | ระบุสถานะของกระบวนการที่ทำงานให้กับผู้ใช้ |
ปล.PID | ให้สถานะของกระบวนการเฉพาะ |
ปิด |
ให้รหัสกระบวนการ (PID) ของกระบวนการ |
ฆ่า PID | ฆ่ากระบวนการ |
ดี | เริ่มต้นกระบวนการตามลำดับความสำคัญที่กำหนด |
เรนิซ | เปลี่ยนลำดับความสำคัญของกระบวนการที่กำลังทำงานอยู่ |
df | ให้พื้นที่ว่างบนฮาร์ดดิสก์ในระบบของคุณ |
ฟรี | ให้ RAM ฟรีในระบบของคุณ |