After=
sự phụ thuộc chỉ có hiệu quả khi dịch vụ bao gồm After=
và dịch vụ được bao gồm bởi After=
cả hai đều được lên lịch khởi động như một phần của quá trình khởi động của bạn.
Ví dụ:
a.service
[Unit]
After=b.service
Bằng cách này, nếu cả hai a.service
và b.service
được kích hoạt , thì systemd sẽ đặt hàng b.service
sau a.service
.
Nếu tôi không hiểu lầm, những gì bạn đang hỏi là làm thế nào để bắt đầu b.service
khi a.service
bắt đầu mặc dù b.service
không được bật.
Chỉ thị cho điều này là Wants=
hoặc Requires=
dưới [Unit]
.
website.service
[Unit]
Wants=mongodb.service
After=mongodb.service
Sự khác biệt giữa Wants=
và Requires=
với Requires=
, không khởi động được b.service
sẽ khiến khởi động của a.service
không thành công, trong khi với Wants=
, a.service
sẽ bắt đầu ngay cả khi b.service
không thành công. Điều này được giải thích chi tiết trên trang người đàn ông của.unit
.