系统服务由于代码=退出,状态= 1 /失败而保持不活动状态

dk13

我已在Ubuntu 16.04上创建了一项服务,以便在每次引导后运行c ++应用程序。c++应用程序将在其他ping测量中运行,这就是为什么我需要在网络启动后启动它并具有cap_net_raw = ep的原因。我创建并存储在/ etc / systemd / system /下的服务单元文件如下(app.service):

[Unit]
Wants=network-online.target
After=network-online.target

[Service]
Type=simple
Restart=always
ExecStart=/home/app/script.sh

[Install]
WantedBy=default.target

script.sh包含以下内容:

#!/bin/bash
sudo setcap cap_net_raw=ep /home/app/C++_APP  
cd /home/app
gnome-terminal -e "./C++_APP"

我还给出了以下命令:

   chmod +x /home/app/script.sh    
   chmod 664 /etc/systemd/system/app.service
   systemctl daemon-reload
   systemctl enable app.service

但是,当我重新启动操作系统时,c ++应用程序未运行,并且当我给出以下信息时:

systemctl status app.service

我收到以下消息:

app.service    Loaded: loaded (/etc/systemd/system/app.service; enabled; vendor preset: enabled)    Active: inactive (dead) (Result: exit-code) since Mon 2017-04-03 16:14:21 EEST; 2min 24s ago   Process: 2937 ExecStart=/home/user/script.sh (code=exited, status=1/FAILURE)

当我手动运行脚本时,它可以正常运行。有谁知道我做错了什么吗?

马克·斯托斯伯格

systemd是不适合gnome-terminal在前台运行桌面应用程序的正确工具您的systemd配置将以身份运行该应用程序root,我想您打算这样做。不会意识到无法在特定用户的前台会话中运行应用程序。

更新您的脚本以使其不使用gnome-terminal,只需使该应用程序可执行并直接运行即可。

要进行调试,您可以将其记录到STDOUT或STDERR并用于journalctl -u app.service查看日志。在完整的journalctl输出中查看附近的行也可能会有所帮助。

另请参阅以下有关通过CLI与systemd一起运行应用程序的相关文章:

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

network.service ExecStartPre =(代码=已退出,状态= 1 /失败)

来自分类Dev

期望-如果命令失败,如何以状态代码1退出?

来自分类Dev

Scrapy安装失败-退出状态1错误

来自分类Dev

错误:autoconf 失败,退出状态:1

来自分类Dev

从Python获取退出状态代码,例如0或1

来自分类Dev

错误:ld 返回 1 个退出状态 - 代码块

来自分类Dev

Ruby系统退出状态常量

来自分类Dev

Ruby系统退出状态常量

来自分类Dev

一个班轮执行功能,检查退出状态,如果实际退出代码为0或1,则退出0

来自分类Dev

退出状态代码“ 1”表示出了点问题:\ nstderr:\“系统找不到指定的路径。-Laravel Snappy

来自分类Dev

CloudPebble错误,“ ld返回1退出状态”

来自分类Dev

Gammu:在接收退出状态1上运行

来自分类Dev

子流程返回退出状态1

来自分类Dev

错误:命令错误,退出状态为1

来自分类Dev

ld返回1错误退出状态C ++

来自分类Dev

ID返回1个退出状态

来自分类Dev

mdmsetup返回退出状态1

来自分类Dev

子流程返回退出状态1

来自分类Dev

Spectacle 退出状态 1 - sass 错误

来自分类Dev

CalledProcessError:返回非零退出状态 1

来自分类Dev

pip install提供:跳过不兼容的python libs和gcc失败,退出状态为1

来自分类Dev

错误:命令“ gcc”失败,退出状态为CentOS 1

来自分类Dev

错误-“ bower安装”失败,退出状态为1

来自分类Dev

VerificationError:CompileError:命令“ cc”失败,退出状态为1

来自分类Dev

无法安装 kyotocabinet 命令“gcc”失败,退出状态为 1

来自分类Dev

Pip安装文件以退出状态1退出

来自分类Dev

vsftpd无法启动:“ systemd [1]:vsftpd.service:主进程已退出,代码=已退出,状态= 2 / INVALIDARGUMENT”

来自分类Dev

tar:由于先前的错误而以失败状态退出

来自分类Dev

tar由于先前的错误而以失败状态退出

Related 相关文章

  1. 1

    network.service ExecStartPre =(代码=已退出,状态= 1 /失败)

  2. 2

    期望-如果命令失败,如何以状态代码1退出?

  3. 3

    Scrapy安装失败-退出状态1错误

  4. 4

    错误:autoconf 失败,退出状态:1

  5. 5

    从Python获取退出状态代码,例如0或1

  6. 6

    错误:ld 返回 1 个退出状态 - 代码块

  7. 7

    Ruby系统退出状态常量

  8. 8

    Ruby系统退出状态常量

  9. 9

    一个班轮执行功能,检查退出状态,如果实际退出代码为0或1,则退出0

  10. 10

    退出状态代码“ 1”表示出了点问题:\ nstderr:\“系统找不到指定的路径。-Laravel Snappy

  11. 11

    CloudPebble错误,“ ld返回1退出状态”

  12. 12

    Gammu:在接收退出状态1上运行

  13. 13

    子流程返回退出状态1

  14. 14

    错误:命令错误,退出状态为1

  15. 15

    ld返回1错误退出状态C ++

  16. 16

    ID返回1个退出状态

  17. 17

    mdmsetup返回退出状态1

  18. 18

    子流程返回退出状态1

  19. 19

    Spectacle 退出状态 1 - sass 错误

  20. 20

    CalledProcessError:返回非零退出状态 1

  21. 21

    pip install提供:跳过不兼容的python libs和gcc失败,退出状态为1

  22. 22

    错误:命令“ gcc”失败,退出状态为CentOS 1

  23. 23

    错误-“ bower安装”失败,退出状态为1

  24. 24

    VerificationError:CompileError:命令“ cc”失败,退出状态为1

  25. 25

    无法安装 kyotocabinet 命令“gcc”失败,退出状态为 1

  26. 26

    Pip安装文件以退出状态1退出

  27. 27

    vsftpd无法启动:“ systemd [1]:vsftpd.service:主进程已退出,代码=已退出,状态= 2 / INVALIDARGUMENT”

  28. 28

    tar:由于先前的错误而以失败状态退出

  29. 29

    tar由于先前的错误而以失败状态退出

热门标签

归档