Không chắc chắn về cách sử dụng supervisord
, nhưng với pkill
bạn có thể sử dụng tùy chọn -P
để giết từ quy trình gốc cho tất cả trẻ em. Đây là cây quá trình (bắt đầu từ daemon ssh chạy của tôi).
$ pstree -a -p 1792
sshd,1792
├─sshd,27150
│ └─sshd,27153
│ └─zsh,27154
│ └─test.sh,27325 ./test.sh
│ └─cat,27326
└─sshd,27182
└─sshd,27184
└─zsh,27185
└─pstree,27357 -a -p 1792
Trong một phiên tôi có một kịch bản test.sh
với pid 27.325, và ở bên kia Tôi đang chạy lệnh pstree -a -p 1792
(vì sshd
có pid 1792)
Và sau khi tôi chạy pkill -TERM -P 27325
:
$ pstree -a -p 1792
sshd,1792
├─sshd,27150
│ └─sshd,27153
│ └─zsh,27154
└─sshd,27182
└─sshd,27184
└─zsh,27185
└─pstree,27387 -a -p 1792
Câu trả lời này chủ yếu được lặp lại từ câu trả lời khác này trên luồng ngăn xếp: https://stackoverflow.com/a/392155/263969
Nguồn
2012-02-23 00:18:46
Có thể nên ở [su]? –