จัดรูปแบบผลลัพธ์ของps -p
คำสั่งได้อย่างไร
หากไม่แสดงบางอย่างเช่นนี้:
PID TTY TIME CMD
แต่เพียงพีไอดี
ฉันใช้ลีนุกซ์
จัดรูปแบบผลลัพธ์ของps -p
คำสั่งได้อย่างไร
หากไม่แสดงบางอย่างเช่นนี้:
PID TTY TIME CMD
แต่เพียงพีไอดี
ฉันใช้ลีนุกซ์
คำตอบ:
ใช้-o
ตัวเลือกเพื่อเลือกคอลัมน์ที่จะแสดง หากคุณใส่=
ชื่อคอลัมน์บรรทัดส่วนหัวจะถูกระงับ
ps -o pid= -p 1 23 456
ps -o pid= -o ppid= -o pgid= -o sid= -p 1 23 456
ใช้--no-headers
เพื่อให้ละเว้นบรรทัดส่วนหัว
เอาท์พุทเดิม:
ps
PID TTY TIME CMD
27027 pts/0 00:00:00 bash
27071 pts/0 00:00:00 ps
ด้วย--no-headers
:
ps --no-headers
27027 pts/0 00:00:00 bash
27072 pts/0 00:00:00 ps
รวมกับ-p
:
ps -p 1 --no-headers
1 ? 00:00:33 systemd
man
หน้าps
อย่างชัดเจนเอกสารนี้:
man ps
[snip]
--no-headers
Print no header line at all. --no-heading is an alias for this option.
=
หลังจากชื่อคอลัมน์ลงในo
แฟล็กเป็นวิธีข้ามแพลตฟอร์มในการทำสิ่งนี้ เช่นps -p ${pid} -o state=
จะแสดงสถานะกระบวนการสำหรับ${pid}
โดยไม่มีส่วนหัว (ซึ่งเป็นคำตอบที่ได้รับการยอมรับ :))
ใช้
ps -p <PIDs> --no-headers
เพื่อรับรายการ PID ที่ไม่มีส่วนหัว
ในการรับรายการ PID เท่านั้นให้ใช้:
ps -eo pid
ดูเพิ่มเติมที่man ps
หัวข้อ 'มาตรฐานรูปแบบตัวระบุ' สำหรับ colums ที่เป็นไปได้
โดยส่วนตัวแล้วฉันชอบวิธีที่ Solaris แสดงคอลัมน์ที่เป็นไปได้ที่จะใช้สำหรับการ-o
โต้แย้ง:
ps: option requires an argument -- o
usage: ps [ -aAdefHlcjLPyZ ] [ -o format ] [ -t termlist ]
[ -u userlist ] [ -U userlist ] [ -G grouplist ]
[ -p proclist ] [ -g pgrplist ] [ -s sidlist ] [ -z zonelist ] [-h lgrplist]
'format' is one or more of:
user ruser group rgroup uid ruid gid rgid pid ppid pgid sid taskid ctid
pri opri pcpu pmem vsz rss osz nice class time etime stime zone zoneid
f s c lwp nlwp psr tty addr wchan fname comm args projid project pset lgrp