Và bây giờ, câu trả lời systemd.
Đã gần bốn năm kể từ khi những câu hỏi và câu trả lời này, và thế giới đã thay đổi trong khi họ không có. Kể từ phiên bản 7, CentOS đã sử dụng systemd. Ubuntu được đề cập trong câu hỏi và trong các ý kiến. Kể từ phiên bản 15, Ubuntu cũng đã sử dụng systemd.
Mặc dù người ta có thể sử dụng Hệ thống 5 rc
kịch bản theo systemd, các kịch bản trong câu trả lời ở đây rất tối ưu, để nói rằng ít nhất. Một cách sử dụng hoàn toàn killall
, có vấn đề về quản lý dmon được biết đến; và cái còn lại là một mớ hỗn độn của tệp khóa ọp ẹp và logic tệp PID không ai trong đó thực sự cần thiết theo người quản lý dịch vụ, vì người quản lý dịch vụ chính họ theo dõi các quá trình dmon.
Như tôi đã nói ở nơi khác, nếu bạn bắt đầu tìm hiểu nội dung này và trên CentOS Linux phiên bản 7 trở lên hoặc Ubuntu Linux phiên bản 15 trở lên, đừng bắt đầu với Hệ thống 5 rc
kịch bản ở nơi đầu tiên. Bắt đầu với các tập tin đơn vị systemd.
một mẫu cho nhiều dịch vụ Xvfb
Đơn giản xvfb.service
Tập tin đơn vị systemd cho xvfb có thể được tìm thấy tại https://www.centos.org/forums/viewtopic.php?f=48& và tại https://askubfox.com/a/621256/43344 . Tuy nhiên, như tôi đã đề cập ở phần sau, người ta cũng có thể thực hiện một cách tiếp cận templatized:
[Unit]
Description=virtual frame buffer X server for display %I
After=network.target
[Service]
ExecStart=/usr/bin/Xvfb %I -screen 0 1280x1024x24
[Install]
WantedBy=multi-user.target
Là một tệp đơn vị được viết cục bộ, không được đóng gói, cho các dịch vụ trên toàn hệ thống (trái với mỗi người dùng) /etc/systemd/system/xvfb@.service
tất nhiên.
kiểm soát dịch vụ
Người ta bắt đầu mẫu, vào một dịch vụ có tên thực tế, với số hiển thị mong muốn. Để trưng bày :99
, do đó, có một ví dụ dịch vụ thực tế có tên xvfb@:99.service
.
- Đặt dịch vụ thành tự động khởi động trên bootstrap với
systemctl enable xvfb@:99.service
.
- Bỏ cài đặt tự động khởi động dịch vụ với
systemctl disable xvfb@:99.service
.
- Bắt đầu dịch vụ bằng tay với
systemctl start xvfb@:99.service
.
- Dừng dịch vụ theo cách thủ công với
systemctl stop xvfb@:99.service
.
- Kiểm tra chi tiết tình trạng dịch vụ hiện tại với
systemctl status xvfb@:99.service
.
đọc thêm