import os
import time # 停止HFish
def stopHFish():
# while True:
try:
# 找到HFish进程号
HFish_id = int(os.popen("pgrep HFish").read().strip())
# 沙了
os.popen('kill -9 '+ str(HFish_id))
print("HFish已关闭") except:
print("进程不存在")
# 启动HFish
def startHFish():
HFish_st_re = os.system('nohup ./HFish run > out.log 2>&1 &')
time.sleep(5) # 重启HFish
def restartHFish():
stopHFish()
print('%s HFish停止成功!' % time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(time.time())))
startHFish()
print('%s HFish重启成功!' % time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(time.time()))) # 查询日志文件中是否有error关键字
def finderror():
reached = False
log_str = open('/opt/hfish/out.log', 'r').read()
if 'runtime error' in log_str:
reached = True
else:
reached = False
return reached if __name__ == '__main__':
while True:
restartHFish()
# 定时查看日志中是否存在error
while finderror() == False:
time.sleep(5)

python3实现:进程遇Error定时重启的更多相关文章

  1. IIS7.0 Appcmd 命令详解和定时重启应用池及站点的设置

    IIS7.0 Appcmd 命令详解 废话不说!虽然有配置界面管理器!但是做安装包的时候命令创建是必不可少的!最近使用NSIS制作安装包仔细研究了一下Appcmd的命令,可谓是功能齐全. 上网查了些资 ...

  2. 利用crontab定时重启centos

    起因 前一段买了aliyun的ecs的最低配版,大概配置是centos 7,512内存,20G空间. 部署了几个站点,虽然网站已经做了一定的静态化,但还是会出现内存不够用的情况,这个时候,系统会停掉一 ...

  3. 007-迅雷定时重启AutoHotkey脚本-20190411

    ;; 定时重启迅雷.ahk,;;~ 2019年04月11日;#SingleInstance,forceSetWorkingDir,%A_ScriptDir%DetectHiddenWindows,On ...

  4. 定时重启tomcat

    写个简单的定时重启,弄了一上午,主要是crontab里面奇怪 #!/bin/bash p=`ps -ef |grep tomcat |head -n 1|awk -F" " '{p ...

  5. linux定时重启tomcat服务的脚本学习

    要求:在linux中定时重启一个tomcat服务 一:shell脚本即Shell Script [1],Shell脚本与Windows/Dos下的批处理相似,也就是用各类命令预先放入到一个文件中,方便 ...

  6. windows系统定时重启自定义exe程序

    工作需要, Windows系统定时重启自定义exe程序. 写了如下程序, 按照说明(readme.txt)修改批处理文件中的四个参数即可: 1.readme.txt 第一个参数:进程名(不用带exe) ...

  7. Linux 定时重启 Tomcat、重启Keepalived

    1.在 tomcat 目录新建一个.sh 文件: vi restartTomcat.sh 2.输入内容: #!/bin/bash# author: Linnuo # date: -- # Filena ...

  8. 定时重启Apache与MySQL方法

    可以定时重启apache服务器等.让网站运行的效果更快. 采用at命令添加计划任务. 有关使用语法可以到window->“开始”->运行“cmd”->执行命令“at /”,这样界面中 ...

  9. 【树莓派】crontab设置Linux设备定时重启

    简介:设置Linux设备定时重启或者关机 问题:有台设备每天总需要使用的人手动重启一下才可以正常工作,但是检查了日志,看起来服务一切都正常.时间和正确时间相差4mins. 解决办法: 1.增加定时任务 ...

随机推荐

  1. 压测工具Apache Bench的安装与使用

    压测工具使用指南: Apache Bench 下载64位 压缩 cmd打开bin目录 使用abs.exe [option] http[s]://www.asb.com 来测试 其中option: -n ...

  2. UiPath选择器之页面选择器的介绍和使用

    一.页面选择器的介绍 某些软件程序的布局和属性节点具有易变的值,例如某些Web应用程序.UiPath Studio无法预测这些变化,因此,您可能必须手动生成一些选择器. 每个属性都有一个分配的值.选择 ...

  3. Python实现简繁体转换,真的玩得花

    大家好鸭, 我是小熊猫 直接开搞!!! 1.opencc-python 首先介绍opencc中的Python实现库,它具有安装简单,翻译准确,使用方便等优点.对于我们日常的需求完全能够胜任. 1.1安 ...

  4. NC202492 仓库选址

    NC202492 仓库选址 题目 题目描述 牛能在某小城有了固定的需求,为了节省送货的费用,他决定在小城里建一个仓库,但是他不知道选在哪里,可以使得花费最小. 给出一个 \(m \times n\) ...

  5. Java封装Get/Post类

    封装的类: package pers.hmi.translate; import java.io.BufferedReader; import java.io.IOException; import ...

  6. DNS 系列(一):为什么更新了 DNS 记录不生效?

    我们在上网时如果想要访问到另一台机器上的内容,通常只需要直接输入一串地址,例如:www.upyun.com,就能够准确访问到自己想要访问的网站.但是实际上这只是方便我们记忆的字符形式网络标识,真正让我 ...

  7. Qt+ECharts开发笔记(二):Qt窗口动态调整大小,使ECharts跟随Qt窗口大小变换而变换大小

    前言   上一篇将ECharts嵌入Qt中,在开始ECharts使用之前,还有一个很重要的功能,就是在窗口变换大小的时候,ECharts的图表尺寸也要跟随Qt窗口变换大小而变换大小.   Demo演示 ...

  8. HashSet存储自定义类型元素和LinkedHashSet集合

    HashSet集合存储自定义类型元素 HashSet存储自定义类型元素 set集合报错元素唯一: ~存储的元素(String,Integer,-Student,Person-)必须重写hashCode ...

  9. Cisco Packet Tracer Student(思科网络模拟器)模拟搭建VLAN网络

    一.VLAN简介 VLAN指在同一个物理网段内,通过逻辑手段,将其划分出多个虚拟的局域网,每个虚拟局域网都具备和真实局域网一样的功能.VLAN不受物理位置限制,可以灵活划分,同一个VLAN内的主机之间 ...

  10. Jetty 源码解析 - 流程

    前言 公司实习分配给的任务是精简和优化 Jetty 框架,这里做简单的思路记录(比较乱),源码是 Jetty 7.x.x . 大体流程 Connector 接口的实现类 SelectChannelCo ...