Tôi đã làm theo các bước từ RedHat để bắt đầu nhiều dịch vụ thành một dịch vụ.
https://access.redhat.com/solutions/3097871
/etc/systemd/system/myapps.target
[Đơn vị]
Mô tả=Đơn vị dịch vụ ứng dụng
# Bộ sưu tập ứng dụng này sẽ được bắt đầu khi khởi động.
[Cài đặt]
WantedBy=multi-user.target
Ứng dụng1.service
/etc/systemd/system/app1.service
[Đơn vị]
Mô tả= Phiên bản của Dịch vụ App1
PartOf=myapps.target
[Dịch vụ]
Loại=oneshot
RemainafterExit=có
ExecStart=/home/mark/bin/app1.sh bắt đầu
ExecStop=/home/mark/bin/app1.sh dừng lại
# Khi dịch vụ chạy trên toàn cầu, hãy đặt dịch vụ đó chạy với tư cách một người dùng cụ thể để tăng cường bảo mật
#Người dùng=người dùng1
#Nhóm=nhóm1
# Khi kích hoạt systemctl được sử dụng, hãy khởi động tính năng này khi dịch vụ Ứng dụng bắt đầu
[Cài đặt]
WantedBy=myapps.target
Ứng dụng2.service
[Đơn vị]
Mô tả= Phiên bản của Dịch vụ App2
PartOf=myapps.target
[Dịch vụ]
Loại=oneshot
RemainafterExit=có
ExecStart=/home/mark/bin/app2.sh bắt đầu
ExecStop=/home/mark/bin/app2.sh dừng lại
# Khi dịch vụ chạy trên toàn cầu, hãy đặt dịch vụ đó chạy với tư cách một người dùng cụ thể để tăng cường bảo mật
#Người dùng=người dùng1
#Nhóm=nhóm1
[Cài đặt]
WantedBy=myapps.target
Tôi muốn dừng app1.service một cách độc lập. Nhưng khi tôi kiểm tra trạng thái của myapps.target, tôi không thấy trạng thái app1.service hiện tại là đã dừng. Thay vào đó, nó cho biết app1.service đang chạy. Làm cách nào tôi có thể thay đổi myapps.target để phản ánh trạng thái?
Cảm ơn trước.