【问题标题】:Ubuntu systemd custom service failing with python scriptUbuntu systemd 自定义服务因 python 脚本失败
【发布时间】:2019-02-23 09:56:25
【问题描述】:

希望获得有关 Ubuntu 中 systemd 守护程序服务的帮助。我编写了一个 python 脚本来禁用戴尔 XPS 上的触摸屏,这与其说是一个有用的功能,不如说是一个问题。该脚本有效,但我不想一直启动它,这就是为什么我想到编写服务文件并让 systemd 在启动时为我启动它的原因。

我遇到的问题是“(code=exited, status=1/FAILURE)”。这是我的第一次,在尝试之前我做了一些研究,但是,我现在无法弄清楚。任何想法将不胜感激。

这是“systemctl status disable-ts.service 输出:

● disable-ts.service - Disable TouchScreen
  Loaded: loaded (/etc/systemd/system/disable-ts.service; enabled; vendor 
  preset: enabled)
  Active: failed (Result: exit-code) since Sat 2019-02-23 01:31:27 PST; 
  6min ago
  Process: 2667 ExecStart=/usr/bin/python disable-ts.py 
 (code=exited,status=1/FAILURE)

 Feb 23 01:31:27 roman-XPS-15-9560 systemd[1]: disable-ts.service: Service 
 hold-off time over, schedul
 Feb 23 01:31:27 roman-XPS-15-9560 systemd[1]: disable-ts.service: 
 Scheduled restart job, restart coun
 Feb 23 01:31:27 roman-XPS-15-9560 systemd[1]: Stopped Disable TouchScreen.
 Feb 23 01:31:27 roman-XPS-15-9560 systemd[1]: disable-ts.service: Start 
 request repeated too quickly.
 Feb 23 01:31:27 roman-XPS-15-9560 systemd[1]: disable-ts.service: Failed 
 with result 'exit-code'.
 Feb 23 01:31:27 roman-XPS-15-9560 systemd[1]: Failed to start Disable 
 TouchScreen.

这是服务文件本身:

[Unit]
Description=Disable TouchScreen
After=multi-user.target

[Service]
User=roman
Type=forking
WorkingDirectory=/home/roman/Python-Scripts/
ExecStart=/usr/bin/python disable-ts.py
Restart=always

[Install]
WantedBy=multi-user.target

在我创建这个之后,我确实运行了:

sudo systemctl daemon-reload
sudo systemctl enable disable-ts.service
sudo systemctl start disable-ts.service

【问题讨论】:

标签: python ubuntu daemon systemd


【解决方案1】:

我自己今天遇到了这个确切的问题,几乎完全相同的设置,除了我使用“简单”作为类型,并且没有指定用户或工作目录。添加工作目录对我有用。

【讨论】:

    猜你喜欢
    • 2021-04-10
    • 1970-01-01
    • 2013-09-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-09-09
    • 2017-08-01
    相关资源
    最近更新 更多