在根环境中启动时启动应用程序,然后进行监视,如果关闭或崩溃则重新启动

麦可

我有一个问题,关于如何在启动完成后立即启动用python编写的应用程序。此应用程序需要以完全权限运行,因此不需要密码,因为它有两个使用sudo运行的命令。

如果应用程序关闭,我还需要它以相同的权限重新启动应用程序。

我做过类似的事情,但从未一起做过。例如,在启动时启动。我将抛出一个简短的脚本,该脚本在另一个目录init.d目录中调用我想要的应用程序。然后通过执行“ update-rc.d app defaults”,它将作为Ubuntu的启动脚本的一部分自动启动

如果它使另一个简单的脚本崩溃,则重新启动程序

#!/usr/bin/python
from subprocess import Popen
import sys

filename = sys.argv[1]
while True:
    print("\nStarting " + filename)
    p = Popen("python " + filename, shell=True)
    p.wait()

完成工作。我可以在文件名中插入应用程序名称,因此在调用它时不必提供它作为参数的一部分。

我的主要问题是我正在运行的应用程序需要在根环境中运行,在引导时自动启动,并在其关闭时重新启动。

有什么建议?

麦可

因此,在收到格伦·杰克曼(Glenn Jackman)的建议后,我开始花更多的时间来研究新贵/系统化公司。我最终查看了systemd,并弄清了我所寻找的许多方面。

关注的问题之一是,到目前为止,我需要在根环境中运行该软件,因为我使用的某些供应商软件都需要它。看来,当您使用systemd设置服务时,所有内容都以root特权运行。这样就解决了我的问题之一。

就启动时启动和管理软件的关闭而言,它是通过一个非常简单的单位文件来处理的,该文件位于/lib/systemd/system/app.service中

[Unit]
Description=this does something
WantedBy=multi-user.target

[Service]
exec executes my app
Restart
RestartSec

[Install]
wantedBy=multi-user.target

接下来,我通过使用systemctl启用了新服务

sudo systemctl enable app.service
sudo systemctl daemon.reload
sudo systemctl start app.service

这启用了启动时的启动功能,并立即对其进行了测试。

再次感谢格伦为我指出正确的方向。

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

当应用程序被系统杀死/重新启动时,Android 服务崩溃

来自分类Dev

应用程序在重新启动活动时崩溃

来自分类Dev

应用程序在启动时崩溃

来自分类Dev

如何使通过Puma和Capistrano部署的Rails应用程序在重新启动时启动

来自分类Dev

春季启动应用程序重新启动时,HSQL DB丢失

来自分类Dev

在应用程序启动时从代码调整/重新启动Postgresql服务器

来自分类Dev

如何从程序退出到重新启动时及时监视Windows中的目录?

来自分类Dev

崩溃后如何重新启动Qt应用程序?

来自分类Dev

在启动时启动应用程序

来自分类Dev

启动时启动应用程序

来自分类Dev

启动时启动应用程序

来自分类Dev

检查进程是否已关闭/未运行,然后重新启动应用程序

来自分类Dev

关闭应用程序后重新启动

来自分类Dev

我可以获取仅在首次启动时保存的实体。如果我重新启动该应用程序,则无法获取我的实体

来自分类Dev

以编程方式使Java Web应用程序重新启动时的所有会话失效

来自分类Dev

当应用程序在后台和iPhone重新启动时如何使用ibeacon

来自分类Dev

Kafka Stream:应用程序重新启动时的Kafka Windowed Stream行为

来自分类Dev

应用程序重新启动时,ADFS的ProviderKey更改

来自分类Dev

应用程序重新启动时保存视图状态android

来自分类Dev

如何使用 WKWebView / WKHTTPCookieStore 在应用程序重新启动时保留 cookie

来自分类Dev

使用Nginx时,NodeJs应用程序会在崩溃时自动重新启动吗?

来自分类Dev

Qt应用程序崩溃时如何在同一程序中自动重新启动?

来自分类Dev

Qt应用程序崩溃时如何在同一程序中自动重新启动?

来自分类Dev

如果不重新启动应用程序就无法强制关闭它?

来自分类Dev

关闭应用后,在重新启动时启动相同的android最后活动

来自分类Dev

Gradle插件2.1.0:应用程序在启动时崩溃

来自分类Dev

Android Geofencing应用程序在启动时崩溃

来自分类Dev

ios应用程序启动时崩溃

来自分类Dev

SKProductsRequest在iOS 7.0.3启动时崩溃的应用程序

Related 相关文章

  1. 1

    当应用程序被系统杀死/重新启动时,Android 服务崩溃

  2. 2

    应用程序在重新启动活动时崩溃

  3. 3

    应用程序在启动时崩溃

  4. 4

    如何使通过Puma和Capistrano部署的Rails应用程序在重新启动时启动

  5. 5

    春季启动应用程序重新启动时,HSQL DB丢失

  6. 6

    在应用程序启动时从代码调整/重新启动Postgresql服务器

  7. 7

    如何从程序退出到重新启动时及时监视Windows中的目录?

  8. 8

    崩溃后如何重新启动Qt应用程序?

  9. 9

    在启动时启动应用程序

  10. 10

    启动时启动应用程序

  11. 11

    启动时启动应用程序

  12. 12

    检查进程是否已关闭/未运行,然后重新启动应用程序

  13. 13

    关闭应用程序后重新启动

  14. 14

    我可以获取仅在首次启动时保存的实体。如果我重新启动该应用程序,则无法获取我的实体

  15. 15

    以编程方式使Java Web应用程序重新启动时的所有会话失效

  16. 16

    当应用程序在后台和iPhone重新启动时如何使用ibeacon

  17. 17

    Kafka Stream:应用程序重新启动时的Kafka Windowed Stream行为

  18. 18

    应用程序重新启动时,ADFS的ProviderKey更改

  19. 19

    应用程序重新启动时保存视图状态android

  20. 20

    如何使用 WKWebView / WKHTTPCookieStore 在应用程序重新启动时保留 cookie

  21. 21

    使用Nginx时,NodeJs应用程序会在崩溃时自动重新启动吗?

  22. 22

    Qt应用程序崩溃时如何在同一程序中自动重新启动?

  23. 23

    Qt应用程序崩溃时如何在同一程序中自动重新启动?

  24. 24

    如果不重新启动应用程序就无法强制关闭它?

  25. 25

    关闭应用后,在重新启动时启动相同的android最后活动

  26. 26

    Gradle插件2.1.0:应用程序在启动时崩溃

  27. 27

    Android Geofencing应用程序在启动时崩溃

  28. 28

    ios应用程序启动时崩溃

  29. 29

    SKProductsRequest在iOS 7.0.3启动时崩溃的应用程序

热门标签

归档