| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 系统运维 -> 利用kill命令实现程序的故障自愈 -> 正文阅读 |
|
[系统运维]利用kill命令实现程序的故障自愈 |
相信看到kill这个单词,因为译意的原因,大家脑海中会联想到一些不好的画面,但是在Linux中,kill命令也有一些比较实用的功能,它可以用来终止一些执行中的程序,也可以用来给某个程序发送指定信号,对指定进程进行相应操作,还可以通过一些小技巧实现程序的故障自愈,先介绍一下在Linux中的一些常用的kill命令用法 总结如下: kill –l 查看kill命令信号列表 kill PID 终止进程(kill在不指定信号的情况下默认15信号,终止进程) kill -1 PID 刷新进程,重读配置文件(程序更改之后不需要退出重启程序,发送1信号就可以更新程序) kill -2 PID 终止正在运行的进程,相当于ctrl+c kill -9 PID 强制关闭程序,但是程序被强制关闭后会残留一些垃圾信息,还可能会导致数据丢失,一般情况下不建议用 kill -18 PID 继续运行 kill -19 PID 后台休眠 killall cmd 终止在多个窗口运行的指定程序 kill -0:是个特殊信号,探测程序运行是否正常 如果信号是0,则不发送实际信号,但仍会实现错误检查 ? kill -0的作用就是用来检查错误,比如给某个程序发送kill -0信号,如果程序运行异常就会返回一个非0的状态码,运行正常则返回0的状态码 当然也可以用来探测网站服务,就是所谓的故障自愈,例如:nginx 执行命令killall -0 nginx &> /dev/null ||systemctl restart nginx 意思就是,如果这个nginx运行正常,则把返回结果信息扔进 /dev/null(黑洞,垃圾箱),如运行异常则重启nginx 我们可以把这条命令代码写到脚本里面,设定探测时间,执行脚本之后系统定时监控网站服务运行是否正常,异常则自动重启,但是有一个小bug,killall -0检查不是特别精准,它只能检查程序是否在进程里,如果在则0,不在则非0,但是程序在进程里不一定是运行状态,也可能是stop状态,这样的话网站肯定访问异常,因此killall -0检查也可能会判断失误,所以这个方法要结合自己的实际情况来使用哦。 |
|
|
上一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/15 22:26:21- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |