linux命令学习笔记-kill和killall命令详解
2024-08-25 15:48:04
*杀死进程最安全的方法是单纯使用kill命令,不加修饰符,不带标志。
首先使用ps -ef命令确定要杀死进程的PID,然后输入以下命令:
# kill -pid
注释:标准的kill命令通常都能达到目的。终止有问题的进程,并把进程的资源释放给系统。然而,如果进程启动了子进程,只杀死父进程,子进程仍在运行,因此仍消耗资源。为了防止这些所谓的“僵尸进程”,应确保在杀死父进程之前,先杀死其所有的子进程。
*确定要杀死进程的PID或PPID
# ps -ef | grep httpd
*以优雅的方式结束进程
# kill -l PID
-l选项告诉kill命令用好像启动进程的用户已注销的方式结束进程。当使用该选项时,kill命令也试图杀死所留下的子进程。但这个命令也不是总能成功--或许仍然需要先手工杀死子进程,然后再杀死父进程。
*TERM信号
给父进程发送一个TERM信号,试图杀死它和它的子进程。
# kill -TERM PPID
*killall命令
killall命令杀死同一进程组内的所有进程。其允许指定要终止的进程的名称,而非PID。
# killall httpd
*停止和重启进程
有时候只想简单的停止和重启进程。如下:
# kill -HUP PID
该命令让Linux和缓的执行进程关闭,然后立即重启。在配置应用程序的时候,这个命令很方便,在对配置文件修改后需要重启进程时就可以执行此命令。
*绝杀 kill - PID
同意的 kill -s SIGKILL
这个强大和危险的命令迫使进程在运行时突然终止,进程在结束后不能自我清理。危害是导致系统资源无法正常释放,一般不推荐使用,除非其他办法都无效。
当使用此命令时,一定要通过ps -ef确认没有剩下任何僵尸进程。只能通过终止父进程来消除僵尸进程。如果僵尸进程被init收养,问题就比较严重了。杀死init进程意味着关闭系统。
如果系统中有僵尸进程,并且其父进程是init,而且僵尸进程占用了大量的系统资源,那么就需要在某个时候重启机器以清除进程表了。
最新文章
- 背水一战 Windows 10 (17) - 动画: ThemeTransition(过渡效果)
- POJ 1141 Brackets Sequence(DP)
- val() 和attr() 取值的问题
- C 网页压力测试器
- Java笔试题集锦
- [TFRecord格式数据]利用TFRecords存储与读取带标签的图片
- CF371 D Searching Rectangles
- LeetCode算法题-Find Smallest Letter Greater Than Target(Java实现)
- 使用getopts处理输入参数
- Opengl正交矩阵 glOrthof 数学原理(转)
- <;转载>;iTerm2使用技巧
- easyUI 下拉组件转义
- Eureka与ZooKeeper 的比较(转)
- Linux命令:sshpass
- ARC介绍
- spark读取mongodb数据写入hive表中
- 详解H5中的history单页面,手动实现单页面开发,细说h5单页面原理
- 再谈API GateWay服务网关
- Android Volley全然解析(四),带你从源代码的角度理解Volley
- TW实习日记:第14天
热门文章
- VueJS构造器:new Vue({})
- Struts2学习七----------Struts2后缀
- 【Linux】线程并发拷贝程序
- jquery插件中使用ajax并且获取使用插件的对象
- .NET C# Json序列化与反序列化——Newtonsoft.Json学习笔记
- ss请cc来家里钓鱼,鱼塘可划分为n*m的格子,每个格子有不同的概率钓上鱼,cc一直在坐标(x,y)的格子钓鱼,而ss每分钟随机钓一个格子。问t分钟后他们谁至少钓到一条鱼的概率大?为多少?
- 开发及应用中 Linux与Window 取舍
- android菜鸟学习笔记6----android布局(一)
- 九度OJ 1020:最小长方形 (基础题)
- pjax + tp5,实现局部无刷新返回数据