Khi một tập lệnh được khởi chạy từ dấu nhắc lệnh, shell sẽ sinh ra một quy trình con cho tập lệnh đó. Tôi muốn chỉ ra rằng mối quan hệ giữa quá trình cấp thiết bị đầu cuối và con cái của nó sử dụng ps
trong đầu ra kiểu cây.
Tôi có thể làm cái này như thế nào?
Những gì tôi đã cố gắng cho đến nay
tập tin: script.sh
#!/bin/bash
ps -f -p$1
Sau đó, tôi gọi tập lệnh từ dòng lệnh đi qua trong id process của shell terminal:
$ ./script.sh $$
Những gì tôi muốn là một cái gì đó như thế này
- quá trình vỏ cấp cao nhất (thiết bị đầu cuối)
- ./script.sh
- quá trình cho
ps
lệnh riêng của mình
USER PID [..]
ubuntu 123 -bash
ubuntu 1234 \_ bash ./script.sh
ubuntu 12345 \_ ps auxf
những gì tôi nhận được là:
PID TTY STAT TIME COMMAND
14492 pts/24 Ss 0:00 -bash
@muru Tôi đã thử
—
the_velour_fog
pstree
và không thể làm cho nó tạo ra đầu ra có ý nghĩa, tôi nghĩ pstree $$
chỉ sản xuất bash--pstree
không chính xác những gì tôi đang tìm kiếm.
Làm thế nào nó không phải là những gì bạn đang tìm kiếm? Bạn đã thay thế tập lệnh và
—
muru
ps
, vậy bạn còn mong đợi gì nữa ngoại trừ pstree
?
@muru quyền của bạn về mặt kỹ thuật những gì tôi muốn, nhưng quá tối thiểu. tức là làm thế nào để bạn biết chắc chắn những quá trình bạn đang xem mà không có bộ vi xử lý như ps cho thấy nó xuất ra bảng?
—
the_velour_fog
pstree -p $$
? Hoặc, nếu bạn muốn thêm chương trình dòng lệnh , pstree -pa $$
. Hoặc, nếu bạn muốn hiển thị tất cả các tiến trình cha mẹ đi lên , pstree -psa $$
.
pstree
?