Ai dùng UNIX-like OS hẳn cũng phải biết tới lệnh `ps`, nếu không, có lẽ là họ vẫn chưa biết gì !?!
Câu lệnh (chương trình) `
ps` trên
Linux Ubuntu 12.04 nằm trong package
procps. Với nhu cầu sử dụng bình thường, người dùng chỉ cần biết một vài tổ hợp sau đây là đủ:
ps -eFH
ps awwxf
rồi `
grep` ra từ khóa mình cần tìm.
Ví dụ:
$ ps -eFH | grep firefox
hvn 930 1 17 341885 728808 2 06:52 ? 00:03:27 firefox
hvn 1055 930 4 106318 63936 2 06:53 ? 00:00:48 /usr/lib/firefox/plugin-container /usr/lib/mozilla/plugins/libflashplayer.so -greomni /usr/lib/firefox/omni.ja -appomni /usr/lib/firefox/browser/omni.ja -appdir /usr/lib/firefox/browser 930 plugin
hvn 1093 930 0 68027 20356 0 06:53 ? 00:00:00 /usr/lib/firefox/plugin-container /opt/google/talkplugin/libnpgoogletalk.so -greomni /usr/lib/firefox/omni.ja -appomni /usr/lib/firefox/browser/omni.ja -appdir /usr/lib/firefox/browser 930 plugin
hvn 1562 1481 0 2670 1104 1 07:12 pts/6 00:00:00 grep --color=auto firefox
Biết thế coi như là đủ nếu bạn không cần gì đặc biệt hơn.
Sau đây là một vài option đặc biệt.
Trước tiên, một điều cần biết là lệnh `
ps` hỗ trợ 3 style để pass option.
Kiểu -e -F (hay -eF) của UNIX, kiểu `ps awwx` (không có dấu - ở đầu) của BSD và kiểu --dài_dòng của GNU. 3 style này không nên dùng lẫn lộn nhau.
Các option sau đây thuộc style UNIX:
1. -C #Chọn process bằng tên câu lệnh.
Ví dụ:
$ ps -C firefox
PID TTY TIME CMD
930 ? 00:04:13 firefox
Có thể thấy số kết quả câu lệnh này khác với
`ps | grep [f]irefox` bởi câu lệnh trên chỉ tìm theo tên câu lệnh, trong khi câu lệnh sử dụng `grep` là để tìm từ khóa. (tức từ khóa có thể không phải câu lệnh, có thể là tên user, số pid, args của câu lệnh)