PostgreSQL 切勿kill -9去杀进程
熟悉Oracle的人可能会去经常使用kill -9杀进程,因为有的时候使用SQL命令去杀进程,一些进程的状态只是会被置为"killed"状态,其锁定的资源仍然没有释放,可能会收到提示:
ORA-00031: session marked for kill
因此甚至还建议大家去使用kill -9直接去操作系统上杀掉进程。
又比如我们Oracle停库的时候常常都是先停监听,再手动kill掉LOCAL=NO的进程,然后再去停库。
但是要注意了,切勿在PostgreSQL中使用kill -9去杀掉进程!
首先我们先 看一个例子:
这里我们有一个进程号为474的psql进程,如果我们使用kill -9杀掉该进程会发生什么呢?
我们发现,其它的一些postgresql的后端进程都受到了影响,其进程ID都发生了变化。
通过查看日志,我们发现这些进程确实是被重置了:
这也是为什么我们不建议使用kill -9去杀掉pg的进程,而在Oracle中却不会这样:
这是因为Oracle由于pmon进程的存在,在某个进程非正常退出后,会做好妥善的后事及清理工作。PostgreSQL由于没有,假如某个进程正在修改shared buffer里的某个数据块,然后被异常终止了,Postmaster为了安全,就会主动停下其他后台进程,做修复善后工作,重置其状态来接受新的连接。
所以,千万不要在pg中使用kill -9去杀进程,而是使用select pg_terminate_backend()和pg_cancen_backend(),或者是pg_ctl kill SIGNALNAME PID的方式。
参考链接:
https://postgreshelp.com/operating-system-kill-signals-on-postgresql/
https://www.modb.pro/db/44333
PostgreSQL 切勿kill -9去杀进程相关推荐
- android 杀死后台进程,android 几种杀进程的方式
今天在编写 application 通用组件时,需要在低内存的回调中杀死进程,所以找了下 androd 傻进程的方法,总结下来有下面几种: 根据进程名称杀进程 android.os.Process.k ...
- kill进程_你还在使用kill -9 杀进程吗?从原理谈避免踩雷!
你要"跑路"了吗? 只要你用过 UNIX/LINUX ,我敢打赌你大概率执行过这样一条命令,也就是俗话说的"杀进程": kill -9 执行它,是不是如同执行以 ...
- linux查看进程运行日志文件,【Linux】常用指令、ps查看进程、kill杀进程、启动停止tomcat命令、查看日志、查看端口、find查找文件...
1.说出 10 个 linux 常用的指令 1) ls 查看目录中的文件 2)cd /home 进入 '/ home' 目录:cd .. 返回上一级目录:cd ../.. 返回上两级目录 3)mkdi ...
- mysql强制杀进程_mysql 杀掉(kill) lock进程脚本
杀掉lock进程最快的方法是重启mysql,像你这种情况,1000多sql锁住了,最好是重启 如果不允许重启,我提供一个shell脚本,生成 kill id命令杀掉lock线程,如下: ------- ...
- kill -9 pid杀不死的进程
发现170994和174008这两个进程使用kill -9 pid杀不死 可能的原因是其父进程没有杀死 那么如何查找父进程 使用如下命令 ps -ef |grep pid 第三列为其父进程的pid号 ...
- Linux查看进程ps -ef、杀进程kill
查看某个服务的进程 例如mysql: ps -ef|grep mysql (ps aux 是用BSD的格式来显示Java进程 显示的项目有: USER PID %CPU %MEM ...
- Linux:使用ps-grep-awk批量kill杀进程
scheduler_center.py 为我要杀掉的进程 # ps -ef|grep scheduler_center.py root 12013 python3 scheduler_center.p ...
- 总用kill -9杀进程,知道9代表什么吗?
linux 的信号机制 信号是Linux中非常重要的部分. 信号机制是进程间相互传递消息的一种方法,全称为软中断信号.信号可以看作进程控制的一部分. 基本概念 signal用来通知进程发生了异步事件, ...
- 查看进程树(pstree,ps)、杀进程(kill,killall,pkill)
案例:查看用户lisi开启进程 [root@server0 ~]# su - lisi #切换lisi用户 [lisi@server0 ~]$ vim aa.sh #随便开启一个程序[root@ser ...
最新文章
- [linux内核][linux中断]——软中断机制
- PhalGo-Request
- 用circlize包绘制circos-plot
- 简单明了区分escape、encodeURI和encodeURIComponent
- winfrom 图片互传
- Eureka实例自动过期
- 利用 Domino V8 新特性开发 Mashup 应用(转载)
- io.jsonwebtoken.ExpiredJwtException jwt令牌过期
- IXWebHosting主机如何退款中文图解教程
- JVM(2)--OutOfMemoryError实战
- F7-Nginx虚拟主机Server
- VS生成dump文件和调试dump文件
- 数字图像处理笔记(八)彩色图像和彩色图像直方图均衡化
- python死循环_Python for死循环
- excel多个窗口独立显示_办公软件操作技巧060:如何快速切换excel工作簿
- ESP8266连接手机
- choco无法将choco识别_终于有个可以量产的法甜配方了,来自巴黎CHOCO(已打包可下载)...
- 基于极限学习机的预测、图像降噪和回归
- vue中image 的:src 与 src
- html标签的多级列表,Word小技巧1:利用多级列表功能实现章节标题自动编号
热门文章
- 全角半角字符及相互转换
- Android定时开机及其实现流程
- 后处理——深入相机变形特效
- 如何在纵向的Word文档中创建横向页面
- 小笔记-简单但够用系列_PPT内嵌html格式动态图表运行时错误
- android华为手机开启蓝牙耳机,华为手机如何连接蓝牙耳机? 华为手机连接蓝牙耳机方法教程介绍!...
- 详解设计模式之装饰者模式[以奶茶为案例介绍]
- iphone调用震动功能
- php 找目录下txt文件,PHP遍历目录下的TXT文件且按时候排序_后端开发
- Android图像识别扫名片识别技术SDK