Cách xác định các tín hiệu dừng / khởi động lại khác nhau khi mới bắt đầu


8

Tôi đang bắt đầu chuyển đổi tất cả các hệ thống của chúng tôi sang sử dụng mới nhất để quản lý các quy trình ứng dụng khác nhau của chúng tôi. Một điều mà tôi liên tục thiếu là khả năng gửi tín hiệu khác nhau đến quá trình stophoặc restartsự kiện.

Chẳng hạn, chúng tôi chạy các quy trình web của mình với Unicorn . Unicorn có API xử lý tín hiệu tuyệt vời. Khi tôi muốn tải lại quá trình một cách duyên dáng, tôi gửi cho chủ nhân một tín hiệu USR2. Để tắt chúng một cách duyên dáng, tôi gửi lệnh QUIT. HẠN (tín hiệu dừng mặc định của khởi động) cấu thành tắt máy ngay lập tức.

Một ví dụ khác là sử dụng Resque . Để duyên dáng tắt một công nhân, tôi gửi tín hiệu QUIT. Tín hiệu TATE một lần nữa gây ra tắt máy ngay lập tức, cho dù con của công nhân có bị rẽ nhánh hay không.

Có hỗ trợ tín hiệu tùy chỉnh không? Tôi dường như không thể tìm thấy nó ở bất cứ đâu, điều đó làm tôi lo lắng rằng tôi đang sử dụng "công cụ sai cho công việc".

Câu trả lời:


4

Ubuntu 10.04 đi kèm với phiên bản mới nổi 0.6.6 mà có kill signalkill timeout các thông số đó sẽ cấu hình tín hiệu và thời gian chờ các giá trị liên quan. Tín hiệu "tải lại" được mã hóa cứng SIGHUP.

Các phiên bản mới hơn của việc upstartgiới thiệu reload signaltham số - xem các câu trả lời khác cho câu hỏi này để biết thêm chi tiết.


Điều tốt để biết, không chắc tại sao tín hiệu tải lại bị mã hóa cứng nhưng tôi đoán tôi sẽ phải sống với nó trong thời gian này.
localshred

Theo câu trả lời của diclophis dưới đây, điều này hiện có thể thực hiện được reload signal SIGUSR2, nhưng yêu cầu bắt đầu v 1.10.0.
ghayes

6

Kể từ khi bắt đầu v1.10.0, bạn có thể xác định "tín hiệu tải lại".

https://launchpad.net/upstart/1.x/1.10.0

Phiên bản này có sẵn trên Ubuntu kể từ v13.10 ... Tôi đã sử dụng các hướng dẫn này để nâng cấp phiên bản ec2 của mình:

https://askubfox.com/questions/302762/upgrad-13-04-to-13-10

Tôi sử dụng rails + puma và thực hiện tải lại duyên dáng với chỉ thị này trong tệp /etc/init/app-1.conf của tôi:

reload signal SIGUSR2
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.