linux kill进程没有立刻停止
前些天在执行restart脚本的时候遇到了一个奇怪的问题:
1、第一次执行进程不见了,启动失败
2、第二次重启进程成功,但是在kill的时候提示进程不存在
需要重启两次进程才能成功
查看日志文件:
第一次重启失败是因为端口被占用,那么意味着进程没有被kill掉。第二次kill提示进程不存在则是因为
在第一次重启进程的时候写入了新的进程号(然后在绑定端口监听的时候发现端口被占用,进程启动失败)
接下来需要研究的是,在执行了kill之后进程为什么没有立刻被kill掉,查资料发现:
也就是说执行kill以后,信号被放在了pending对列中,下一次cpu调度这个进程耗时较长。
查看了一下,系统600多个进程,所以暂时的处理办法是先sleep 0.1s,然后再执行kill命令
参考:
1、当执行kill -9 PID时系统发生了什么2、Linux进程状态:D
附:重启脚本
#!/bin/bash BASEDIR=$(cd "$(dirname "$0")";pwd)
PID=./bin/process.pid # kill server
if [ -e "$PID" ]; then
cat "${BASEDIR}"/bin/process.pid | xargs kill -9
sleep 0.1
rm -rf ${BASEDIR}/bin/process.pid
echo "stop process success..."
fi mkdir -p ${BASEDIR}/log # start server as daemon
cd ${BASEDIR}/bin
chmod +x ./process
nohup ./** >> ${BASEDIR}/log/out.log 2>&1 &
echo "restart process server success..."
linux kill进程没有立刻停止的更多相关文章
- linux kill进程和子进程小trick
我们的hive web是调用polestar restful service(https://github.com/lalaguozhe/polestar-1)来执行具体的hive或者s ...
- Linux:kill 进程
在使用Linux时,出现端口占用.进程已启动(但处于不可控状态)情况时如何处理? 发现已知端口被占用时,可以使用netstat -apn | grep yourPort 来查看占用该端口的进程的pid ...
- Linux下查找进程,kill进程
1. ps命令用来查找linux运行的进程,常用命令: ps aux | grep 进程名: eg:ps aux | grep admin 查找admin的进程 或者 ps -ef | grep j ...
- Linux下kill进程脚本
Linux下kill进程脚本 在Linux有时会遇到需要kill同一个程序的进程,然而这个程序有多个进程,一一列举很是繁琐,使用按名字检索,统一kill Perl脚本 使用方法 kill_all.pl ...
- linux, kill掉占用60%多cpu的进程,几秒后换个pid 和 command 又出现
linux, kill掉占用60%多cpu的进程,几秒后换个pid 和 command 又出现?快速清理木马流程.假设木马的名字是xysbqaxjqy,如果top看不到,可以在/etc/init.d目 ...
- linux 查找并kill进程
以php以关键字查找进程 $ ps aux | grep php root 32957 0.0 0.1 2470904 8908 s002 S+ 4:53下 ...
- linux查询进程 kill进程
查询进程 #ps aux #查看全部进程 #ps aux|grep firewall #查询与firewall相关的进程 kill进程一 kill进程pid为711进程: #pkill -9 711 ...
- Linux查看进程线程个数
1.根据进程号进行查询: # pstree -p 进程号 # top -Hp 进程号 2.根据进程名字进行查询: # pstree -p `ps -e | grep server | awk '{pr ...
- Linux kill和kill-9区别
进程状态转换图 kill和kill -9,两个命令在linux中都有杀死进程的效果,然而两命令的执行过程却大有不同,在程序中如果用错了,可能会造成莫名其妙的现象. 执行kill命令,系统会发送一个SI ...
随机推荐
- 开始新建AEM站点-周末教程
Getting Started Developing AEM Sites - WKND Tutorial 开始新建AEM站点-周末教程 The goal for this multi-part tut ...
- Flink(四) —— 数据流编程模型
分层抽象 The lowest level abstraction simply offers stateful streaming. It is embedded into the DataStre ...
- HashMap源码分析(一)
基于JDK1.7 HashMap源码分析 概述 HashMap是存放键值对的集合,数据结构如下: table被称为桶,大小(capacity)始终为2的幂,当发生扩容时,map容量扩大为两倍 Hash ...
- AI精灵
由于使用的CRM系统是Aras Innovator系统,所有的任务分配必须登入系统查看,故做出以下自动接受任务信息的小工具. 1.登入,实现自动记录上次登入的信息,支持多账户 登入成功后会以图标运 ...
- F - Fraction Formula Gym - 102307F
Mr. Potato Head has been promoted and now is a math professor at the UNAL. For his first course he i ...
- 前端之BOM与DOM-JQuery
一.前端基础之BOM和DOM: 1: JavaScript分为 ECMAScript,DOM,BOM BOM:指的是浏览器对象模型,它使JavaScript有能力与浏览器进行“对话” DOM:是指文档 ...
- GIL全局解释器锁-死锁与递归锁-信号量-event事件
一.全局解释器锁GIL: 官方的解释:掌握概念为主 """ In CPython, the global interpreter lock, or GIL, is a m ...
- [JSOI2019]神经网络(树形DP+容斥+生成函数)
首先可以把题目转化一下:把树拆成若干条链,每条链的颜色为其所在的树的颜色,然后排放所有的链成环,求使得相邻位置颜色不同的排列方案数. 然后本题分为两个部分:将一棵树分为1~n条不相交的链的方案数:将这 ...
- Review For Exam
Review For Exam [2019 福建省赛] 一个很简单的状态压缩DP,结果集体走偏 如何解决连续几日的限制问题?这种东西普通的DP很难写 #include <bits/stdc++. ...
- windows10使用npm安装vue、vue-cli
从网上下载了一个免费的vue.js前端模板,准备和Django整合出一个项目出来,然后发现前端代码都是.vue文件,已经整合过.html,很容易,感觉这个.vue的前端稍微复杂一些 本文主要参考博客及 ...