ubuntu系统自动重启保护程序

ubuntu系统自动重启保护程序,第1张

这里所需要的python依赖项相对较少,只需要安装下schedule即可(这个包很小,无需镜像也会很快装完),这个是定时任务时会用到的,直接在运行的python环境下执行以下命令

pip install schedule

1

1

二、重启任务

这一部分我们将贴出代码,大致逻辑是先检测到我们要重启的程序id,然后kill掉之后,进行重新启动,代码如下:

import os,sys,schedule

import subprocess,time

def restart_frp():

child =subprocess.Popen(["pgrep","-f","xxx"],stdout=subprocess.PIPE,)

pid=child.stdout.read().decode("utf-8").strip()

#print(pid)

if pid!="":

os.system("kill -9 "+pid)

child2=subprocess.Popen("xxx",stdout=subprocess.PIPE,shell=True)

print(time.strftime("%Y-%m-%d %H:%M",time.localtime()))

if __name__ == '__main__':

restart_frp()

schedule.every().hour.do(restart_frp)

while True:

schedule.run_pending()

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

其中的xxx均为你要 *** 作的程序名称

三、bug记录

自己在运行中若遇到如下错误:在这里插入图片描述

则执行如下 *** 作:

第一步,执行命令

ls -l /bin/sh

1

1

若显示结果为:/bin/sh ->dash,那就执行第二步:

sudo dpkg-reconfigure dash (出现窗口选择no)

1

1

第三步,再次执行命令:

ls -l /bin/sh

1

1

显示为 /bin/sh ->bash后,重新运行程

下图是文件内容

注: linux随机启动的服务程序都在/etc/init.d这个文件夹里,里面的文件全部都是脚本文件,用 户登录时,bash首先自动执行系统管理员建立的全局登录script :/ect/profile。然后bash在用户起始目录下按顺序查找三个特殊文件中的一个:/.bash_profile、/.bash_login、 /.profile,但只执行最先找到的一个。 因此,只需根据实际需要在上述文件中加入命令就可以实现用户登录时自动运行某些程序。 退出登录时自动运行程序: 退出登录时,bash自动执行个人的退出登录脚本/.bash_logout。

sudo usermod -a -G dialout nanozhw

将nanozhw换成你自己的jetson nano 当前用户的用户名

打开LINUX UBUNTU *** 作系统。

找到左边的TERMINAL,打开窗口。

相关推荐:《Python教程》

输入python,如果没有安装,就会提示需要安装。

如果已经安装好python3,直接输入,那么就会进入。

exit()就可以退出python3的模式。

创建一个文件,注意要以py为后缀。

在文件里面输入代码。

python3后面输入文件名字就可以执行PYTHON文件了。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12042069.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-20
下一篇 2023-05-20

发表评论

登录后才能评论

评论列表(0条)

保存