Mỗi quá trình sẽ được liệt kê trong đầu ra của ps aux
; dù chạy, ngủ, thây ma hay dừng lại.
Tuy nhiên, trong trường hợp của bạn, vì bạn đã chạy quá trình sử dụng sh abc.sh
, sh
là ứng dụng (shell) đang chạy và không abc.sh
. Do đó, ps aux
sẽ không chứa quá trình abc.sh
vì grep
không thể mang lại bất kỳ kết quả nào.
Vì vậy, cách chính xác mà bạn nên sử dụng là:
ps aux | grep sh
Điều này cũng có thể trả về cho bạn quá trình khác đang chạy có chuỗi sh
ở bất cứ đâu trong đầu ra của chúng ps aux
.
Bạn nên lưu ý rằng quá trình này sẽ được "chạy" khi đầu ra của ps aux
có của nó STAT
như R
. Nếu đó là một cái gì đó khác, thì nó không chạy trong trường hợp bạn đã kích hoạt lệnh để kiểm tra các tiến trình đang chạy. Các trạng thái quá trình khác nhau có thể được tìm thấy trong trang man cho ps:
D uninterruptible sleep (usually IO)
R running or runnable (on run queue)
S interruptible sleep (waiting for an event to complete)
T stopped, either by a job control signal or because it is being traced
W paging (not valid since the 2.6.xx kernel)
X dead (should never be seen)
Z defunct ("zombie") process, terminated but not reaped by its parent
Bạn cũng có thể chạy top
lệnh để kiểm tra xem tiến trình đang chạy hay đang ngủ và lượng CPU, RAM mà nó đang tiêu thụ. (Điều này sẽ một lần nữa liệt kê quá trình của bạn như sh
).
Tuy nhiên, nếu bạn muốn quy trình của mình được liệt kê dưới dạng abc.sh
, thì bạn nên có dòng đầu tiên của tập lệnh mà bạn đang chạy là:
#!/bin/sh
để shell sẽ biết ứng dụng nào sẽ sử dụng để chạy tập lệnh (sh trong trường hợp này, thay đổi nó thành #!/bin/bash
bash) và sau đó cung cấp các quyền thực thi cho quy trình bằng cách sử dụng:
chmod +x /path/to/abc.sh
thay thế /path/to/
bằng vị trí của abc.sh
tệp và sau đó chạy abc.sh
bằng
/path/to/abc.sh
một lần nữa thay thế /path/to/
bằng vị trí của abc.sh
tập tin.
S+
có nghĩa là gì