我正在尝试将单个 systemd 服务/程序重构为多个程序和服务。我的单一大服务看起来像:
[Unit]
Description=Runs the App loop
After=network-online.target
[Service]
Type=simple
ExecStart=/usr/bin/python3 -u /App/mainLoop
WorkingDirectory=/App
StandardOutput=journal
Restart=on-failure
[Install]
WantedBy=multi-user.target
Run Code Online (Sandbox Code Playgroud)
我从其他例子拼凑起来。我现在想要的是两种服务:
服务A
[Unit]
Description=Initializes some things
After=network-online.target # Question 1
[Service]
Type=simple
ExecStart=/usr/bin/python3 -u /App/startup
WorkingDirectory=/App
StandardOutput=journal
Restart=on-failure # Question 2
[Install]
WantedBy=multi-user.target
Run Code Online (Sandbox Code Playgroud)
服务B
[Unit]
Description=Runs the App loop
After=network-online.target # Question 3
[Service]
Type=simple
ExecStart=/usr/bin/python3 -u /App/mainLoop
WorkingDirectory=/App
StandardOutput=journal
Restart=on-failure
[Install]
WantedBy=multi-user.target # Question 4
Run Code Online (Sandbox Code Playgroud)
所以我在这里有多个问题点(由上面的评论引用):
Restart标志更改为其他内容,但是什么?WantedBy目标和After目标之间的区别仍然很模糊。是WantedBy基本上它所属的组,After它有后要序列化的吗?default.target。您可以通过查看输出来查看目标和用途systemctl list-dependenciesType=oneshot. 由服务根据是否写入您需要的文件来正确退出。您可能希望使用ExecStartPre来启动初始化脚本。WantedBy告诉systemd在进入给定目标时启动服务。After表示在给定目标(或单元)中的所有单元完成后启动单元。| 归档时间: |
|
| 查看次数: |
6472 次 |
| 最近记录: |