Làm cách nào để thiết lập một dịch vụ?


19

Tôi có một tập lệnh mà tôi muốn chạy như một dịch vụ trên hộp không đầu Ubuntu Server 11.04 của mình. Đó là, tôi muốn có các tệp chính xác trong /etc/init.d/ và để có thể kiểm soát nó thông qua servicelệnh.

Có hướng dẫn nào có sẵn sẽ chỉ cho tôi cách làm điều này không?

Câu trả lời:


14

Trừ khi bạn đang sử dụng 15.04 hoặc bất kỳ bản phát hành nào sau này (sử dụng systemd), bạn có thể sẽ tốt hơn nếu bạn biến tập lệnh của mình thành công việc Upstart, thay vì làm theo các ví dụ bạn sẽ tìm thấy /etc/init.d/(đó là các tập lệnh init kiểu System V, mà Ubuntu và các bản phân phối khác đang di chuyển khỏi).

Các Upstart Cookbook có một số lượng lớn thông tin về cách làm việc công việc Upstart. Mặc dù tôi sẽ không mô tả nó như là một CÁCH, nhưng nếu bạn kết hợp thông tin ở đó với việc xem qua các công việc Ubuntu Upstart trong /etc/init/bạn sẽ bắt đầu có được hình ảnh.

Tôi đề nghị bắt đầu với phần 4 và 5 của Cookbook, "Khái niệm và thuật ngữ""Cấu hình"


10

Dưới đây là một ví dụ rất đơn giản về cách tạo tập lệnh khởi động: https://wiki.frrifware.org/index.php/Upstart_Job_HOWTO

CẬP NHẬT: liên kết trên bị hỏng. Đây là một ví dụ về một kịch bản:

description "My startup service"
author "You or someone else"
version "3.14"

pre-start script
    echo 'Starting my service ...'
end script

start on net-device-up
stop on runlevel [!2345]

console output

respawn

exec /path/to/your/custom/script

Thích nghi khi cần thiết.

Bạn nên đặt tập lệnh vào /etc/init/yourfilename.conf

Sau đó tải lại cấu hình với:

sudo initctl reload-configuration

Và nếu tất cả đều ổn, bạn sẽ có thể bắt đầu với:

sudo start yourfilename

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.