[program:yourapp]
command = bash -c "sleep 60 && exec urcmd'
startsecs = 65 ;
và sau đó
supervisorctl -c your_config_file reload
1. bạn cần sử dụng exec
lệnh, nếu không nó sẽ rẽ nhánh từ sleep 60 && exec your command
và tiến trình của bạn sẽ như sau
$ ps -ef|grep urcmd
work 1818 1698 0 17:35 ? 00:00:00 bash -c sleep 60 && urcmd
work 3872 1818 0 17:36 ? 00:00:00 urcmd
và sau đó khi bạn sử dụng supervisorctl
để dừng urApp, bạn sẽ dừng tiến trình 1818 và để lại 3872 tiến trình mồ côi
2. khuyến nghị thay đổi startecs thành 5 nhiều hơn số giây ngủ, sau đó khi bạn khởi động ứng dụng này và kiểm tra trạng thái, nó sẽ cho bạn thấy nó đang bắt đầu
$supervisorctl -c your_config_file status;echo;ps -ef|grep urcmd
urapp STARTING
otherapp RUNNING pid 13502, uptime 0:00:55
$supervisorctl -c your_config_file status;echo;ps -ef|grep urcmd
urapp RUNNING pid 13503, uptime 0:00:05
otherapp RUNNING pid 13502, uptime 0:00:65
khác nếu bạn đặt giá trị nhỏ hơn giây ngủ, khi bạn khởi động ứng dụng và kiểm tra trạng thái, bạn sẽ nhận được trạng thái đang chạy, nhưng nó vẫn ngủ cmd trước khi thực thi
3. khi bạn thay đổi tệp cấu hình của mình, bạn cần sử dụng tải lại cmd hoặc chỉ cần khởi động lại trình giám sát của mình để làm cho nó hoạt động