我正在尝试为我的 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)
我在这里做错了什么?
我有一个dict,看起来像这样:
{
"name1" : { "title":"someTitle", "confidence" : 0.765 },
"name2" : { "title":"someTitle2", "confidence" : 0.9343 },
"name3" : { "title":"someTitle3", "confidence" : 0.0031 },
"name4" : { "title":"someTitle4", "confidence" : 0.23 },
"name5" : { "title":"someTitle5", "confidence" : 0.8768 }
}
Run Code Online (Sandbox Code Playgroud)
在这样的一个字典中,我需要创建另一个类似的字典,只包含具有最高置信度值的值.在这种情况下应该是:name2,name5,name1.
{
"name1" : { "title":"someTitle", "confidence" : 0.765 },
"name2" : { "title":"someTitle2", "confidence" : 0.9343 },
"name5" : { "title":"someTitle5", "confidence" : 0.8768 }
}
Run Code Online (Sandbox Code Playgroud)
应保留Dict结构和内容.
谢谢!