Systemd:启动操作超时。终止

Nix*_*Nix 9 python ubuntu flask systemd flask-socketio

我正在尝试为我的 python-flask-socketio 服务器创建一个自动启动服务。

我需要通过 systemd 启动一个 python 脚本。这是我的服务代码:

[Unit]
Description=AppName


[Service]
Type=forking
ExecStart=/usr/bin/python3 /opt/myapp/app.py

[Install]
WantedBy=multi-user.target
Run Code Online (Sandbox Code Playgroud)

如果我尝试使用手动启动它sudo service myservice start- 它工作得很好。它停止了我的终端\ssh 窗口,但我可以关闭它并且它按预期工作。

但是当我重新启动我的电脑时,它没有启动。当systemctl status myservice我检查它的状态时,我得到以下信息:

systemd[1]: Starting My Service...
systemd[1]: myserivce.service: Start operation timed out. Terminating.
systemd[1]: Failed to start My Service.
systemd[1]: myserivce.service: Unit entered failed state.
systemd[1]: myserivce.service: Failed with result 'timeout'.
Run Code Online (Sandbox Code Playgroud)

我在这里做错了什么?

小智 15

您的类型似乎有误,分叉适用于自行立即分离的程序。Flask 不会,它会一直连接到您的控制台。

您的服务类型应该是 simple


Voy*_*Voy 9

设置更大的启动超时:

[Service]
TimeoutStartSec=300
Run Code Online (Sandbox Code Playgroud)

如果您的服务实际上需要更多时间来完成启动。