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.servicevà b.serviceđược kích hoạt , thì systemd sẽ đặt hàng b.servicesau 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.servicekhi a.servicebắt đầu mặc dù b.servicekhô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.servicesẽ khiến khởi động của a.servicekhông thành công, trong khi với Wants=, a.servicesẽ bắt đầu ngay cả khi b.servicekhô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 .