批量查进程linux,linux 批量删除进程与查看进程详解
在linux系统中我们查看进程使用grep命令来搜索,删除进程使用kill 命令用于终止进程。
下面介绍linux进程批量删除与查看实例,希望对各位朋友会有所帮助。
1.Tab 键会自动补全
在 LINUX 命令平台输入 1-2 个字符后按 Tab 键会自动补全后面的部分(前提是要有这个东西,例如在装了 tomcat 的前提下, 输入 tomcat 的 to 按 tab)。
2. ps 命令用于查看当前正在运行的进程。
grep 是搜索
例如: ps -ef | grep java
表示查看所有进程里 CMD 是 java 的进程信息
ps -aux | grep java
-aux 显示所有状态
3. kill 命令用于终止进程
例如: kill -9 [PID]
-9 表示强迫进程立即停止
通常用 ps 查看进程 PID ,用 kill 命令终止进程
4.批量删除进程
介绍两种方法。要kill的进程都有共同的字串。
kill -9 `ps -ef |grep xxx|awk '{print $2}' `
kill -9后面的符号是Tab键上方那个。
如上就是kill -9 `列出进程,找到包含xxx的行,输出pid的列
kill、ps、grep都是很常用的命令了。
awk的作用是输出某一列,{print $2}就是输出第二列,如上即是pid这一列。
ps -ef | grep xxx | grep -v root | awk '{print $2}' | xargs kill -9
grep -v这个参数的作用是排除某个字符。所以这里排除了root执行的命令。
之后也利用awk找到pid这一列。
最后的xargs是从标准输出获取参数并执行命令的程序,即从前面的命令获取输出作为参数来执行下一个命令。
5.清理僵尸进程
今天在维护服务器的时候,发现有5个nova-novncproxy的僵尸进程。
?
26327 ? S 0:05 _ /usr/bin/python /usr/bin/nova-novncproxy --config-file=/etc/nova/nova.conf
4765 ? Z 0:00 _ [nova-novncproxy]
4766 ? Z 0:00 _ [nova-novncproxy]
4767 ? Z 0:00 _ [nova-novncproxy]
4768 ? Z 0:00 _ [nova-novncproxy]
4769 ? Z 0:00 _ [nova-novncproxy]
一般僵尸进程很难直接kill掉,不过您可以kill僵尸爸爸。父进程死后,僵尸进程成为”孤儿进程”,过继给1号进程init,init始终会负责清理僵尸进程.它产生的所有僵尸进程也跟着消失。
ps -e -o ppid,stat | grep Z | cut -d” ” -f2 | xargs kill -9
或
kill -HUP `ps -A -ostat,ppid | grep -e ’^[Zz]‘ | awk ’{print $2}’`
当然您可以自己编写更好的shell脚本,欢迎与大家分享。
我将nova-novncproxy stop后再start,僵尸进程即消失,问题解决。
另外子进程死后,会发送SIGCHLD信号给父进程,父进程收到此信号后,执行waitpid()函数为子进程收尸。就是基于这样的原理:就算父进程没有调用wait,内核也会向它发送SIGCHLD消息,而此时,尽管对它的默认处理是忽略,如果想响应这个消息,可以设置一个处理函数。
6.如何避免僵尸进程呢?
处理SIGCHLD信号并不是必须的。但对于某些进程,特别是服务器进程往往在请求到来时生成子进程处理请求。如果父进程不等待子进程结束,子进程将成为僵尸进程(zombie)从而占用系统资源。如果父进程等待子进程结束,将增加父进程的负担,影响服务器进程的并发性能。在Linux下 可以简单地将 SIGCHLD信号的操作设为SIG_IGN。
signal(SIGCHLD,SIG_IGN);
这样,内核在子进程结束时不会产生僵尸进程。这一点与BSD4不同,BSD4下必须显式等待子进程结束才能释放僵尸进程
或者
用两次fork(),而且使紧跟的子进程直接退出,是的孙子进程成为孤儿进程,从而init进程将负责清除这个孤儿进程。
批量查进程linux,linux 批量删除进程与查看进程详解相关推荐
- Linux ps -aux 和 ps -ef 查看进程信息说明+ps查看进程中的线程
Linux ps -aux 和 ps -ef 查看进程信息说明+ps查看进程中的线程 1. ps -aux | grep xxx 1.1 ps -aux 输出格式: 1.2. 例子 1.3 注意:有时 ...
- linux下mysql数据库基础及客户端命令详解
linux下mysql数据库基础及客户端命令详解 1.mysql数据库存储引擎: SHOW ENGINES; #查看mysql支持的存储引擎 常见有如下两个存储引擎: MyISAM:每表三个文件: ...
- Linux系统下SVN服务器的搭建过程详解 UpJ}s7+
Linux系统下SVN服务器的搭建过程详解 UpJ}s7+ 1 环境: 服务器放在redhatAS4.0上,客户端在windows 2000. k_lb"5z Z]jSq@%1H* ...
- linux 脚本编写基本命令,Linux Shell命令行及脚本编程实例详解
<Linux典藏大系:Linux Shell命令行及脚本编程实例详解>共15章,分为两篇.主要内容包括:Linux 及Linux Shell简介.初识Linux Shell.常用Shell ...
- linux中替换命令详解,linux中sed命令字符串替换的用法详解
Linux系统中sed命令可以将字符串批量替换,省去了很多麻烦,下面由学习啦小编为大家整理了linux系统中sed命令字符串替换的用法详解,希望对大家有帮助! linux中sed命令字符串替换的用法详 ...
- Linux服务端开发——Linux中stat函数和stat命令使用详解
这篇文章主要介绍了Linux中stat函数和stat命令使用详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧 stat函数和s ...
- php fping,【Linux 命令】fping ping 包间隔时间详解
服务器间检查会用到fping的命令,期间遇到了一个问题,需要将ping包间的间隔时间设置为100毫秒,查看fping -h看下,找到了-i和-p两个参数: 看到这两个参数,我当时的表情是这样的: 看不 ...
- linux中流设备_[快速上手Linux设备驱动]之块设备驱动流程详解一
[快速上手Linux设备驱动]之块设备驱动流程详解一 walfred已经在[快速上手Linux设备驱动]之我看字符设备驱动一 文中详细讲解了linux下字符设备驱动,并紧接着用四篇文章描述了Linux ...
- linux 访问windows 端口,Linux和Windows下查看端口详解
Linux和Windows下查看端口详解 我们常会在计算机上安装很多软件,如果喜欢冲浪的话,必然就会用的软件的通信,当然包括web开发的,应用多了,难免会要不小心占用端口的问题,这时候用命令来处理是最 ...
- Linux下的tar归档及解压缩功能详解
Linux下的tar归档及解压缩功能详解 一.Linux下解压缩工具 二.gzip工具的使用方法 三.其他解压缩工具 一.Linux下解压缩工具 二.gzip工具的使用方法 三.其他解压缩工具 一.L ...
最新文章
- 《数学之美》第23章 布隆过滤器
- Apache24 + wsgi + Flask on Python3.8部署实践
- tableau实战系列(三十九)-教你如何优雅的做图表展示-南丁格尔玫瑰图
- Linux 服务器必备的安全设置,建议收藏!
- C语言 满分代码:L1-044 稳赢 (15分)(解题报告)
- Selenium webdriver中的xpath定位
- 永辉发布元宵数据:汤圆销售明显提升,多个民生产品增长超150%
- 3.啊哈!算法 --- 一大波数正在靠近——枚举!很暴力
- 使用Xshell连接Linux虚拟机
- php基础案例例子,PHP基础案例教程
- 计算机科学导论实验报告,上海电力学院计算机导论实验报告.docx
- Jmeter配置元件之授权管理器HTTP Authorization Manager
- [HNOI2004]宠物收养所(简单理解,用set写的)
- Mac软件打开提示:已损坏,无法打开。您应该将它移到废纸娄 怎么解决?
- python-matplotlib-箱线图为不同的箱体设置不同颜色
- 如何规范地使用双向(inout)信号?
- 考计算机二级需要学哪些,考计算机二级需要学哪些内容
- 盘点 深度学习妖怪 之 激活函数妖
- php读写w,PHP如何在读写(w +)模式下创建临时文件?,_PHP_ 少侠科技
- Scrapy + Selenium 实现模拟登录,获取页面动态加载数据