Linux进程突然挂死,小玩意:如何让linux上挂死的进程重启?
需求是这样的:我们在linux服务器上有一个采集进程,担心该进程出现故障挂死或者被人误杀,这种情况下需要能自动重启。使用peacemaker这样的分布式管理工具可以做到进程的监控,但毕竟体量较大,部署也稍嫌麻烦。
其实,使用keepalived就可以满足这种需求,部署起来也很简单,做个记录供以后查阅。
1、安装keepalived
2、配置keepalived检测
修改/etc/keepalived/keepalived.conf
vrrp_script check_dtm {
script "/etc/keepalived/check_dtm.sh"
interval 1
weight -5
fall 3
}
vrrp_instance VI_1 {
state MASTER
interface eth0
virtual_router_id 51
priority 100
advert_int 1
authentication {
auth_type PASS
auth_pass 1111
}
virtual_ipaddress {
}
track_script {
check_dtm
}
}
如上配置,对VI_1实例配置track脚本,每秒检测一次,实际检测的脚本是check_dtm.sh。
由于我们只是使用keepalived的check功能,所以virtual_address和virtual_server的功能都不需要,相关配置全部删除。
3、配置检测脚本check_dtm.sh
#!/bin/bash
ps aux|grep dtmonitor|grep java
if [ $? != 0 ] ; thenecho "dtmonitor is down, try to restart."
bash /opt/dtmonitor/monitor/start.sh
fi
真正做到重启的地方。简单来说,检查进程是否还在(当然可以做的粒度更准确一些,例如定时写一些文件之类),如果进程没了,则调用采集进程的启动脚本,尝试重启。
4、采集进程的启动脚本。
在采集进程的目录中(即/opt/dtmonitor/monitor/)编辑start.sh文件:
#!/bin/bash
CURDIR="`dirname $0`"
java -jar $CURDIR/dtmonitor.jar &
echo "dtmonitor is started."
注意当前目录的切换。
如上,启动keepalived服务后,杀死dtmonitor进程,可以观察到1s左右dtmonitor进程被keepalived服务重启了。
Linux进程突然挂死,小玩意:如何让linux上挂死的进程重启?相关推荐
- 服务器如何挂网页游戏,在云服务器上挂网页游戏
在云服务器上挂网页游戏 内容精选 换一换 安全组类似防火墙功能,是一个逻辑上的分组,用于设置网络访问控制.用户可以在安全组中定义各种访问规则,当云耀云服务器加入该安全组后,即受到这些访问规则的保护.入 ...
- linux 命令大全_11个炫酷的Linux终端命令大全
今天给大家分享用了十年的Linux总结出来的11个炫酷的Linux终端命令大全,通过今天这篇文章我将向大家展示一系列的Linux命令.工具和技巧,希望能够帮助到大家. 1.命令行日常快捷键 如下的快捷 ...
- 操作系统原理,进程的基本状态,运行态,就绪态,等待态与转换模型,进程的其他状态,创建,终止,挂起与转换模型,Linux进程状态模型示例
操作系统原理,进程的基本状态,运行态,就绪态,等待态与转换模型,进程的其他状态,创建,终止,挂起与转换模型,Linux进程状态模型示例 一.进程的三种基本状态: 运行态,就绪态,等待态 1.运行态: ...
- linux中的进程有哪三种基本状态,Linux下的进程有哪三种状态?()
1.R (TASK_RUNNING)状态,可执行状态. 只有在该状态的进程才可能在CPU上运行.而同一时刻可能有多个进程处于可执行状态,这些进程的task_struct结构(进程控制块)被放入对应CP ...
- linux exec 二程序,二十五、Linux 进程与信号---exec函数
25.1 介绍 在用 fork 函数创建子进程后,子进程往往要调用一种 exec 函数以执行另一个程序 当进程调用一种 exec 函数时,该进程完全由新程序代换,替换原有进程的正文,而新程序则从其 m ...
- 【Linux进程、线程、任务调度】一 Linux进程生命周期 僵尸进程的含义 停止状态与作业控制 内存泄漏的真实含义 task_struct以及task_struct之间的关系
学习交流加(可免费帮忙下载CSDN资源): 个人微信: liu1126137994 学习交流资源分享qq群1(已满): 962535112 学习交流资源分享qq群2: 780902027 文章目录 1 ...
- linux守护进程写法_搞懂进程组、会话、控制终端关系,才能明白守护进程如何创建...
守护进程 概念: 守护进程,也就是通常所说的Daemon进程,是Linux中的后台服务进程.周期性的执行某种任务或等待处理某些发生的事件. Linux系统有很多守护进程,大多数服务都是用守护进程实现的 ...
- Linux下QProcess不产生finished信号、waitforfinished阻塞超时【defunct进程】
文章目录 项目场景: 问题描述以及分析过程: defunct(僵尸进程): QProcess的实现: 理论原因: 尝试修改一: 第一次痛定思痛: 尝试修改二: 第二次修改能满足要求: 使用startd ...
- Linux如何检测到僵尸进城,如何在linux下查看僵尸进程
首先说说:僵尸进程是什么? 僵尸进程是当子进程比父进程先结束,而父进程又没有回收子进程,释放子进程占用的资源,此时子进程将成为一个僵尸进程.如果父进程先退出 ,子进程被init接管,子进程退出后ini ...
- linux感染十字符病毒,十字符病毒,杀不死的小强,一次云服务器沦陷实录
一.现象 接到客户的电话,说自己的云服务器被提供商禁止访问了,原因是监测到网络流量暴满,服务器不停的向外发包,在确认客户没有业务量突增的情况下,初步判断可能服务器遭受了流量攻&击(DDOS), ...
最新文章
- Qt-4.6.3移植与Qt creator开发环境建立
- whereis命令查看你要添加的软件在哪里
- 自定义控件的子控件支持设计模式
- 笔记-项目沟通管理-沟通基本原则
- 一次难忘的产品发布经历
- M-SOLUTIONS Programming Contest 2020总结
- MYSQL性能调优及架构设计学习笔记-影响MYSQL性能的相关因素之实例分析
- pycharm 快捷键大全
- iOS8中添加的extensions总结(一)——今日扩展
- jQuery实现tab选项卡
- 【智能家居】智能单火开关目前普遍存在的问题
- spoj COT COT2
- FidMTF: An MTF Estimator (FidMTF:一种MTF估计方法)
- 微信小程序——微信小程序后台自定义分析,数据准确性分析
- 企业从哪里开始构建弹性 IT 基础架构
- GMS(Google Mobile Services)简介
- Xiaomi Redmi Note7刷机
- 架构 Varnish+Nginx+PHP(FastCGI)+MYSQL5+MemCache
- 计算机网络——面试复习
- SQL Server如何设置账号密码
热门文章
- CentOS7上实现Squid缓存服务器的两种模式
- Linux中命令行终端切换工具screen
- 关于Jquery ajax调用一般处理程序Handler报500 错误(Internal Server Error)解决办法
- 如何解决Silverlight跨域访问安全性问题
- ASP.NET 2.0使用Web Part创建应用程序之一(共二)
- mysql取第二大_mysql – SQL:从一行列中获取第二大值
- JavaBean实现简单登录功能
- 电子信息工程求职目标_广东海洋大学电子与信息工程学院电子信息工程专业欢迎你...
- 单元覆盖测试排除某些类烧苗_汽车嵌入式软件测试——嵌入式软件测试概述
- nyoj461 Fiboncci数列(4)解通项公式