文章目录

  • 前言
  • 一、依赖项安装
  • 二、重启任务
  • 三、bug记录
  • 总结

前言

  在项目中,用Frp进行了内网穿透,但是由于网络存在波动的可能,而这样也可能会导致Frp中断,所以就想着通过定时重启frp程序来规避这种情况,如下:


一、依赖项安装

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

pip install schedule

二、重启任务

这一部分我们将贴出代码,大致逻辑是先检测到我们要重启的程序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()

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

三、bug记录

自己在运行中若遇到如下错误:
则执行如下操作:
第一步,执行命令

ls -l /bin/sh

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

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

第三步,再次执行命令:

ls -l /bin/sh

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

参考链接:bug解决


总结

以上就是这篇文章的全部内容,如有不对,还望指正。

Ubuntu下定时重启程序相关推荐

  1. Ubuntu下系统重启dns就被清空的解决方案

    Ubuntu下系统重启dns就被清空的解决方案 公司内网的IP地址是通过dhcp自动获取的,但是每次重启系统以后,就会出现无法上网的情况,执行命令 sudo vim /etc/resolv.conf ...

  2. Ubuntu下看门狗程序以及基于.destop文件实现的开机自启动

    首先说一下Ubuntu下看门狗程序,这个程序是用在我项目中的,用来保证核心程序能够实现崩溃自启动,这对于程序的稳定运行至关重要. 话不多少,直接上代码: (1)新建看门狗程序 daemon_uploa ...

  3. Ubuntu下QT控制台程序无法运行的解决方案以及XTerm的配置方法

    Ubuntu下QT控制台程序无法运行的解决方案以及XTerm的配置方法 最近由于老师要求要在Ubuntu下QT上进程多线程服务器的开发,虽然只是单纯的调用qt的network模块,但是为了避免麻烦,我 ...

  4. lamp 重启mysql_lamp常用命令 --Ubuntu下启动/重启/停止apache,mysql服务器

    lamp常用命令 --Ubuntu下启动/重启/停止apache,mysql服务器 (2011-08-19 16:20:35)转载▼标签: it 分类: LINUX Ubuntu下启动/重启/停止ap ...

  5. [C++]Linux之Ubuntu下编译C程序出现错误:“ stray ‘\302‘或者‘\240‘ in program”的解决方案

    [C++]Linux之Ubuntu下编译C程序出现错误:" stray '\302'或者'\240' in program"的解决方案 参考文章: (1)[C++]Linux之Ub ...

  6. Ubuntu下Apache重启错误:Could not reliably determin解决

    Ubuntu下Apache重启出现错误提示:Could not reliably determin Linuxidc.com@Ubuntu 错误信息: * Restarting web server ...

  7. Ubuntu 下编写C程序

    Ubuntu 下编写C程序 一.编写C程序 二.编译C程序 三.make工具和Makefile文件 一.编写C程序 使用VIM编辑器编写程序,也可以使用vscode. 1.1.设置vim编辑器 设置v ...

  8. Ubuntu下编译qt程序libQtWebEngineCore报错

    最近在Ubuntu下编译qt程序时, 报如下错误 libQt5WebEngineCore.so: .dynsym local symbol at index 3 (>= sh_info of 3 ...

  9. Ubuntu下C语言程序的编写

    Ubuntu下C语言程序的编写 要求:请编写一个主程序文件 main1.c 和一个子程序文件 sub1.c, 要求:子程序sub1.c 包含一个算术运算函数 float x2x(int a,int b ...

  10. Ubuntu下C语言程序编写与运行

    Ubuntu下C语言程序编写与运行 安装Ubuntu Ubuntu系统下C程序编写与运行 VC6.0下编译C程序 在Ubuntu下用Makefile方式编程主程序 安装Ubuntu 在Windows环 ...

最新文章

  1. 【从零开始的ROS四轴机械臂控制】(三) - 为机械臂添加摄像头和夹爪、解决gazebo模型抖动、使用gazebo建立sdf模型
  2. php函数serialize()与unserialize()
  3. 在IIS中为SQL Server 2008配置报表服务
  4. 2011-11-27
  5. Java_异常_03_ java.lang.NoClassDefFoundError: org/apache/commons/pool/KeyedObjectPoolFactory
  6. 012_Switch开关
  7. 全能系统监控工具dstat
  8. 一篇文章带你快速理解JVM运行时数据区 、程序计数器详解 (手画详图)值得收藏!!!
  9. 【Demo】配置重试和超时策略
  10. SAP Spartacus Media Component
  11. 11有没有压力感应_特殊感应器赋予机械手多维触感
  12. ArcGIS中,一个点集里的点两两连线,比如有4个点,就连6条线
  13. python安卓自动化原理_appium---appium自动化原理
  14. Java数据结构与算法(二) 简单排序
  15. python课程典范选优_python 实现选课系统
  16. demo是什么?demo有什么用?
  17. 中国饭局上的座次讲究
  18. 实现DevOps的三步工作法
  19. 多个tab页如何共享websocket
  20. 【爬虫实战】Python 自制天气预报程序!爬取全国天气网

热门文章

  1. android studio 自定义生成BuildConfig文件,形成打包配置
  2. 欧姆龙服务器显示oE,欧姆龙CP1H-E系列PLC实现Modbus TCP\RTU\ASCII通信视频教程
  3. c语言中药品管理系统报告,C语言 药品管理系统.doc
  4. 清华大学计算机科学与技术专业设置,清华大学计算机科学与技术专业介绍
  5. Android:实现弹窗效果
  6. 计算机自动生成凭证,哪些财务软件能自动生成记账凭证?
  7. 微信小程序封装api接口方法教程
  8. 数据推荐 | 自然场景OCR文字识别数据集一览
  9. 酷酷跑真有java游戏吗_JAVA版光影分享【仅此一次】下
  10. refprop物性库_Refprop9.1_Refprop(制冷剂物性查询软件)下载 v9.1免费版 附教程 - 121下载站...