วิธีดูกระบวนการที่สร้างโดยผู้ใช้เฉพาะใน Unix / linux


115

ฉันต้องการดูรายการกระบวนการที่สร้างโดยผู้ใช้หรือกลุ่มผู้ใช้เฉพาะใน Linux ฉันสามารถทำได้โดยใช้psคำสั่งหรือมีคำสั่งอื่นเพื่อให้บรรลุหรือไม่


6
ps -u username. คำสั่งส่วนใหญ่มีหน้าคู่มือซึ่งคุณสามารถอ่านman the-commandได้
Stéphane Chazelas

คำตอบ:


160

หากต้องการดูเฉพาะกระบวนการที่ผู้ใช้เฉพาะเป็นเจ้าของใช้คำสั่งต่อไปนี้:

top -U [username]

แทนที่ [ชื่อผู้ใช้] ด้วยชื่อผู้ใช้ที่จำเป็น

ถ้าคุณต้องการใช้ ps แล้ว

ps -u [username]

หรือ

 ps -ef | grep <username>

หรือ

ps -efl | grep <username>

สำหรับรายชื่อเพิ่มเติม

ตรวจสอบตัวเลือก man ps page

อีกทางเลือกหนึ่งคือการใช้ pstree wchich พิมพ์แผนผังกระบวนการของผู้ใช้

pstree <username or pid>

2
ทั้งหมด ... grep <username> `โซลูชั่นไม่ทำงานหากคุณมีชื่อผู้ใช้สองชื่อที่มีความยาวมากกว่า N ตัวอักษร ในกรณีของฉัน N คือ 6
guettli

1
หมายเหตุ: ฉันพบข้อผิดพลาดtop -U [username]และtop -u [username]ทำงานให้ฉันแทน เดเบียน 9. ดังนั้นหากใครได้รับข้อผิดพลาดกับแบบฟอร์ม -U ลองตัวพิมพ์เล็ก
Gloweye

2

ลองอันนี้

ps -fp $(pgrep -u <username>)

วิธีนี้ดีกว่าps -u <username>ดังที่กล่าวไว้ในคำตอบที่มีอยู่ (หรือps -fu <username>ถ้าคุณต้องการรายละเอียดกระบวนการ)
สตีเฟ่น Kitt

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