Android

คำสั่ง Ps ใน linux (รายการกระบวนการ)

ये कà¥?या है जानकार आपके à¤à¥€ पसीने छà¥?ट ज

ये कà¥?या है जानकार आपके à¤à¥€ पसीने छà¥?ट ज

สารบัญ:

Anonim

ใน Linux อินสแตนซ์ที่ใช้งานอยู่ของโปรแกรมเรียกว่ากระบวนการ บางครั้งเมื่อทำงานกับเครื่อง Linux คุณอาจต้องค้นหาว่ากระบวนการใดกำลังทำงานอยู่

มีจำนวนคำสั่งที่คุณสามารถใช้เพื่อค้นหาข้อมูลเกี่ยวกับกระบวนการที่กำลังทำงานอยู่โดยมี ps , pstree และ top เป็นคำที่ใช้บ่อยที่สุด

บทความนี้อธิบายวิธีใช้คำสั่ง ps เพื่อแสดงรายการกระบวนการที่กำลังทำงานอยู่และแสดงข้อมูลเกี่ยวกับกระบวนการเหล่านั้น

วิธีใช้คำสั่ง ps

ไวยากรณ์ทั่วไปสำหรับคำสั่ง ps มีดังนี้:

ps

สำหรับเหตุผลด้านประวัติและความเข้ากันได้คำสั่ง ps ยอมรับตัวเลือกหลายประเภท:

  • ตัวเลือกสไตล์ UNIX นำหน้าด้วยตัวเลือกสไตล์ dash.BSD เดียวซึ่งใช้โดยไม่มีตัวเลือกแบบยาว dash.GNU นำหน้าด้วยขีดกลางสองอัน

ประเภทตัวเลือกที่แตกต่างกันสามารถผสมกันได้ แต่ในบางกรณีอาจมีข้อขัดแย้งปรากฏขึ้นดังนั้นจึงเป็นการดีที่สุดที่จะใช้ตัวเลือกประเภทเดียว

ตัวเลือก BSD และ UNIX สามารถจัดกลุ่มได้

ในรูปแบบที่ง่ายที่สุดเมื่อใช้โดยไม่มีตัวเลือกใด ๆ ps จะพิมพ์สี่คอลัมน์ของข้อมูลสำหรับกระบวนการสองขั้นต่ำที่ทำงานในเชลล์ปัจจุบันเชลล์เองและกระบวนการที่ทำงานในเชลล์เมื่อคำสั่งถูกเรียกใช้

ps

เอาต์พุตประกอบด้วยข้อมูลเกี่ยวกับเชลล์ ( bash ) และกระบวนการที่รันในเชลล์นี้ ( ps คำสั่งที่คุณพิมพ์):

PID TTY TIME CMD 1809 pts/0 00:00:00 bash 2043 pts/0 00:00:00 ps

คอลัมน์สี่คอลัมน์มีป้ายกำกับ PID , TTY , TIME และ CMD

  • PID - ID กระบวนการ โดยปกติเมื่อรันคำสั่ง ps ข้อมูลที่สำคัญที่สุดที่ผู้ใช้ค้นหาคือกระบวนการ PID การรู้จัก PID ช่วยให้คุณสามารถฆ่ากระบวนการทำงานผิดพลาด TTY - ชื่อของเทอร์มินัลการควบคุมสำหรับกระบวนการ TIME - เวลา CPU สะสมของกระบวนการแสดงเป็นนาทีและวินาที CMD - ชื่อของคำสั่งที่ใช้เพื่อเริ่มกระบวนการ

ผลลัพธ์ข้างต้นไม่มีประโยชน์มากเนื่องจากไม่มีข้อมูลมาก พลังที่แท้จริงของคำสั่ง ps มาเมื่อเปิดตัวพร้อมตัวเลือกเพิ่มเติม

คำสั่ง ps ยอมรับตัวเลือกจำนวนมากที่สามารถใช้เพื่อแสดงกลุ่มของกระบวนการเฉพาะและข้อมูลต่าง ๆ เกี่ยวกับกระบวนการ แต่จำเป็นต้องใช้เพียงเล็กน้อยเท่านั้นในการใช้งานแบบวันต่อวัน

ps ถูกใช้บ่อยที่สุดด้วยการรวมกันของตัวเลือกต่อไปนี้:

แบบฟอร์ม BSD:

ps aux

  • ตัวเลือกบอกให้ ps แสดงกระบวนการของผู้ใช้ทั้งหมด เฉพาะกระบวนการที่ไม่เกี่ยวข้องกับเทอร์มินัลและกระบวนการของหัวหน้ากลุ่มเท่านั้นที่จะไม่แสดง u หมายถึงรูปแบบที่เน้นผู้ใช้ซึ่งให้ข้อมูลโดยละเอียดเกี่ยวกับกระบวนการตัวเลือก x แนะนำให้ ps แสดงรายการกระบวนการโดยไม่มีเทอร์มินัลการควบคุม สิ่งเหล่านี้ส่วนใหญ่เป็นกระบวนการที่เริ่มต้นในเวลาบูตและทำงานในพื้นหลัง

คำสั่งแสดงข้อมูลในคอลัมน์ที่สิบเอ็ดชื่อ USER , PID , %CPU , %MEM , VSZ , RSS , STAT , START , TTY , TIME และ CMD

USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND root 1 0.0 0.8 77616 8604 ? Ss 19:47 0:01 /sbin/init root 2 0.0 0.0 0 0 ? S 19:47 0:00…

เราได้อธิบายป้ายกำกับ PID , TTY , TIME และ CMD แล้ว นี่คือคำอธิบายของป้ายกำกับอื่น ๆ:

  • USER - ผู้ใช้ที่ดำเนินกระบวนการ %CPU - การใช้ cpu ของกระบวนการ %MEM - เปอร์เซ็นต์ของขนาดชุดที่อยู่อาศัยของกระบวนการต่อหน่วยความจำกายภาพบนเครื่อง VSZ - ขนาดหน่วยความจำเสมือนจริงของกระบวนการใน KiB RSS - ขนาดของหน่วยความจำกายภาพที่กระบวนการใช้ STAT - รหัสสถานะของกระบวนการเช่น Z (zombie), S (sleep) และ R (กำลังทำงาน) START - เวลาที่คำสั่งเริ่มต้น

ตัวเลือก f บอกให้ ps แสดงมุมมองแบบต้นไม้ของกระบวนการ parent กับลูก:

ps auxf

คำสั่ง ps ยังให้คุณเรียงลำดับเอาต์พุต ตัวอย่างเช่นหากต้องการเรียงลำดับเอาต์พุตตามการใช้หน่วยความจำคุณจะใช้:

ps aux --sort=-%mem

แบบฟอร์ม UNIX:

ps -ef

  • อ็อพชัน -e สั่งให้ ps แสดงกระบวนการทั้งหมด -f หมายถึงรายการเต็มรูปแบบซึ่งให้ข้อมูลรายละเอียดเกี่ยวกับกระบวนการ

คำสั่งแสดงข้อมูลในแปดคอลัมน์ที่มีป้ายกำกับ UID , PID , PPID , C , STIME , TIME และ CMD

UID PID PPID C STIME TTY TIME CMD root 1 0 0 19:47 ? 00:00:01 /sbin/init root 2 0 0 19:47 ? 00:00:00…

ป้ายกำกับที่ไม่ได้อธิบายมีความหมายต่อไปนี้:

  • UID - เหมือนกับ USER ผู้ใช้ที่ดำเนินกระบวนการ PPID - ID ของกระบวนการหลัก C - เช่นเดียวกับ %CPU , การใช้ประโยชน์ CPU กระบวนการ STIME - เหมือนกับ START เวลาที่คำสั่งเริ่มทำงาน

หากต้องการดูเฉพาะกระบวนการที่ทำงานในฐานะผู้ใช้เฉพาะให้พิมพ์คำสั่งต่อไปนี้โดยที่ linuxize เป็นชื่อของผู้ใช้:

ps -f -U linuxize -u linuxize

รูปแบบที่ผู้ใช้กำหนด

ตัวเลือก o ช่วยให้คุณระบุคอลัมน์ที่จะแสดงเมื่อเรียกใช้คำสั่ง ps

ตัวอย่างเช่นหากต้องการพิมพ์ข้อมูลเฉพาะเกี่ยวกับ PID และคำ COMMAND คุณจะเรียกใช้หนึ่งในคำสั่งต่อไปนี้:

ps -efo pid, comm

ps auxo pid, comm

การใช้ ps กับคำสั่งอื่น

ps สามารถใช้ร่วมกับคำสั่งอื่น ๆ ผ่านการไพพ์

ps -ef | less

เอาต์พุตของคำสั่ง ps สามารถกรองด้วย grep ตัวอย่างเช่นเพื่อแสดงเฉพาะกระบวนการที่เป็นของผู้ใช้รูทที่คุณจะรัน:

ps -ef | grep root

ข้อสรุป

คำสั่ง ps เป็นหนึ่งในคำสั่งที่ใช้บ่อยที่สุดเมื่อแก้ไขปัญหาในระบบ Linux มีตัวเลือกมากมาย แต่โดยทั่วไปผู้ใช้ส่วนใหญ่ใช้ ps aux หรือ ps -ef เพื่อรวบรวมข้อมูลเกี่ยวกับกระบวนการทำงาน

สำหรับข้อมูลเพิ่มเติมเกี่ยวกับ ps ให้พิมพ์ man ps ในเทอร์มินัลของคุณ

สถานีปลายทาง