Bạn cũng có thể xử lý ps
đầu ra tốt hơn một chút.
ps --width ${n:-$COLUMNS} ${opts} #set ps terminal width
ps -ww ${opts} #no word wrap
ps -o ${only_interesting_output} ${opts} #trim output
Điều đó sẽ cho ps
phép phân tích đầu ra của nó để thông số kỹ thuật của bạn khi cần thiết.
Tất nhiên, nếu bạn không bao bọc từ, tuy nhiên, sau đó bạn đã gặp phải vấn đề thiếu thông tin. Bạn có thực sự cần tất cả của nó cho tất cả các quy trình? Mở nó trong một máy nhắn tin nếu vậy:
ps ww ${opts} | $PAGER
Nếu không, chỉ định những gì bạn muốn xem:
ps -o args= -p $pid
Ngoài ra, bạn có thể thông báo rõ ràng ps
về thiết bị đầu cuối của bạn --width
:
man ps
...
w
Sản lượng rộng. Sử dụng tùy chọn này hai lần cho chiều rộng không giới hạn.
-w
Sản lượng rộng. Sử dụng tùy chọn này hai lần cho chiều rộng không giới hạn.
--width n
Đặt chiều rộng màn hình.
Điều --width
này hoạt động chính xác với thông số kỹ thuật được yêu cầu của bạn mà không cần phải liên quan đến bất kỳ bộ lọc bổ sung hoặc quy trình phụ trợ nào (có thể sẽ chỉ làm lộn xộn -aux
đầu ra của bạn hơn nữa). Và $COLUMNS
như được hiển thị ở trên và như Stephane chỉ ra, nó thậm chí sẽ hoạt động linh hoạt.
Có lẽ đáng chú ý, tuy nhiên, mà tôi tìm thấy người ta thường cố gắng thêm các loại bộ lọc cần thiết để họ có thể phục vụ một |pipe
thông qua một bộ lọc để đầu ra phân tích cú pháp mà cũng khá khả năng là không cần thiết. Tất nhiên, bởi những người tôi chủ yếu là tôi.
Các -o
utput toán hạng tôi đề cập ở trên cho phép bạn lọc cột ps
hiển thị, và khi bạn thêm các =
assigment thậm chí bạn có thể đặt tên cho cột như bạn xin vui lòng. Tôi rời khỏi sự phân công trống và trao cho nó một mục tiêu -p
rocess $pid
nên sản lượng chỉ từ ps
ở tất cả là $pid
tên lệnh và nó args
tại sự thỉnh nguyện. Và -o
hầu như không làm trầy xước bề mặt về cách bạn có thể xác định những gì ps
sẽ hoặc sẽ không hiển thị. Đây là hướng tôi muốn giới thiệu, đặc biệt là thông qua:
man ps
...
Để xem mọi quy trình trên hệ thống bằng cú pháp BSD:
ps ax
ps axu
Để in cây quy trình:
ps -ejH
ps axjf
Để có được thông tin về chủ đề:
ps -eLf
ps axms
Để có được thông tin bảo mật:
ps -eo euser,ruser,suser,fuser,f,comm,label
ps axZ
ps -eM
Để xem mọi quy trình đang chạy dưới dạng root (ID thực & hiệu quả) ở định dạng người dùng:
ps -U root -u root u
Để xem mọi quy trình với định dạng do người dùng xác định:
ps -eo pid,tid,class,rtprio,ni,pri,psr,pcpu,stat,wchan:14,comm
ps axo stat,euid,ruid,tty,tpgid,sess,pgrp,ppid,pid,pcpu,comm
ps -Ao pid,tt,user,fname,tmout,f,wchan
Chỉ in ID tiến trình của syslogd:
ps -C syslogd -o pid=
Chỉ in tên của PID 42:
ps -p 42 -o comm=