it-swarm-vi.com

Viết tập tin dịch vụ systemd cơ bản

Tôi đang phát triển một ứng dụng Nodejs mà người dùng tương tác thông qua HTTP trên localhost. Thực tế không có tham số nào và trình nền hầu như không có phụ thuộc và nó chỉ cần được đăng nhập theo thời gian đăng nhập.

Tôi muốn theo dõi các thành ngữ trên mỗi nền tảng cho các kịch bản khởi động và điều đó có nghĩa là Khởi động trên Ubuntu và systemd trên Fedora.

  • Có hướng dẫn tốt nào để ghi tệp hệ thống systemd không?
  • Có bất kỳ 'thực tiễn tốt nhất' nào cần biết không?

Tôi đã tìm thấy những tài nguyên này:

Tôi chủ yếu tìm kiếm một loại API như một tài liệu tham khảo, cũng như một định dạng cơ bản để theo dõi.

106
beatgammit

Tôi sẽ bắt đầu với trang hướng dẫn Systemd . Họ đại diện cho một nguồn lực toàn diện của hệ thống và dịch vụ.

Ngoài ra còn có freedesktop Systemd FAQs .

26
jasonwryan

Ví dụ sau được lấy cảm hứng từ liên kết này, thực sự không đề cập đến tất cả các bước và được liệt kê chỉ để ghi có nguồn: http://patrakov.blogspot.com/2011/01/writer-systemd-service-files .html

Bước 1 : Tôi đã tạo tệp này (vị trí ghi chú) về cơ bản kích hoạt quy trình bash với một đối số mở rộng. Bạn có thể bắn lệnh của riêng bạn có thể khác với bash.

[[email protected] ~]# cat /etc/systemd/system/foo.service 
[Unit]
Description=foo

[Service]
ExecStart=/bin/bash -c "while true; do /bin/inotifywait -qq --event close_write /sys/class/backlight/acpi_video0/brightness; su myusername -c '/bin/xbacklight -display :0 -set $(cat /sys/class/backlight/acpi_video0/brightness)'; done"

[Install]
WantedBy=multi-user.target

Bước 2 :

Tải lại systemd:

systemctl daemon-reload

Bắt đầu dịch vụ mới:

systemctl enable foo

(tương tự bạn có thể disable nó)

(tùy chọn) Bước 3 : Nó sẽ tự động khởi động vào lần khởi động lại tiếp theo vào chế độ nhiều người dùng (chạy cấp 3) nhưng nếu bạn muốn bắt đầu ngay :

systemctl start foo
systemctl status foo # optional, just to verify

Cập nhật: Để hoàn thiện, tôi nên thêm rằng ub Ubuntu bionic dường như có một trang man rất kỹ lưỡng. RTFM tại đây

184
necromancer
4
caracal