2012-12-01 28 views

Trả lời

9

Sử dụng supervisorctl status để liệt kê các quy trình được quản lý pid.

Với một chút awk, sedpaste massage, bạn có thể trích xuất những pid s để được chấp nhận như là đầu vào cho lệnh khác:

echo `bin/supervisorctl status | grep RUNNING | awk -F' ' '{print $4}' | sed -e 's/,$//' | paste -sd' '` 

sẽ liệt kê tất cả PID của chương trình đang chạy như một danh sách không gian tách ra. Thay thế echo bằng lệnh kill -HUP để gửi tất cả tín hiệu SIGHUP, chẳng hạn.

+0

cổ vũ Martijn. Không thích hợp bây giờ nhờ vào câu trả lời trước đó của bạn :) Tuy nhiên không thể nhận được lệnh nhóm và khởi động lại làm việc mặc dù. – user1561108

+0

Đáng ngạc nhiên là không có cách nào thẳng về phía trước để thực hiện việc này. Nhưng điều này hoạt động như một sự quyến rũ – JRun

7

Bây giờ bạn có thể làm như sau:

sudo supervisorctl pid all 
sudo supervisorctl pid myprogramname 
Các vấn đề liên quan