Sự khác biệt giữa dịch vụ và systemctl là gì?


33

Có thể đây là một câu hỏi tầm thường, nhưng nó không hoàn toàn rõ ràng với tôi. Trên một trong các máy chủ của chúng tôi, chúng tôi có một số quy trình nền đang chạy servicevà một số quy trình khác được bắt đầu bằng systemctl, như sau:

$ service nginx start
$ systemctl start gunicorn

Sự khác biệt giữa hai lệnh là gì? Cái nào là cách ưa thích để đối phó với các dịch vụ nền? Làm thế nào để cấu hình lệnh ưa thích?


3
có một lời giải thích rất hay ở đó
Félix Brunet

Phần đau đớn của điều này, một số người cho rằng dịch vụ là 'không còn tồn tại' và nếu không, tại sao họ lại thay đổi thứ tự các đối số như với 'find / grep / định vị' v.v ... không có sự thống nhất trong các bản phát hành linux :(
killjoy

Câu trả lời:


37

servicelà một lệnh "cấp cao" được sử dụng để bắt đầu và dừng dịch vụ trong các bản unix và linux khác nhau. Tùy thuộc vào người quản lý dịch vụ "cấp thấp hơn", servicechuyển hướng trên các nhị phân khác nhau.

Ví dụ, trên CentOS 7, nó chuyển hướng đến systemctl, trong khi trên CentOS 6, nó gọi trực tiếp /etc/init.dtập lệnh tương đối . Mặt khác, trong các bản phát hành Ubuntu cũ hơn, nó chuyển hướng đếnupstart

servicelà đủ để quản lý dịch vụ cơ bản, trong khi gọi trực tiếp systemctlcung cấp các tùy chọn kiểm soát lớn hơn.


9

systemctlvề cơ bản là một phiên bản mạnh mẽ hơn của service.

Với servicebạn chỉ có thể làm các lệnh liên quan đến dịch vụ (ví dụ status, reload, restart) trong khi với systemctlbạn có thể sử dụng lệnh cao cấp hơn như:

systemctl is-failed name.service # check if service failed to load

Hoặc dịch vụ mặt nạ:

systemctl mask name.service

Có rất nhiều thông tin tốt trên trang này từ Ask Ubuntu.


1

systemctllà tiện ích chính để kiểm soát daemon / dịch vụ systemd,
trong khi servicelệnh là tiện ích truyền thống trong SysVinitthế giới.

Một trong những tính năng của systemd là tương thích với các lệnh SysVinit / legacy,
vì vậy, nếu bạn có systemctllệnh,
service foo startsẽ là một trình bao bọc xung quanh systemctl start foo.

Câu chuyện tương tự cho chkconfig.

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.