首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

Linux用ps命令查找进程PID再用kill命令终止进程的方法「建议收藏」

使用linux操作系统,难免遇到一些软件”卡壳”的问题,这时就需要使用linux下强大的kill命令来结束相关进程。这在linux系统下是极其容易的事情,你只需要kill xxx即可,这里xxx代表与此软件运行相关的进程PID号。 首先,我们需要使用linux下另外一个ps命令查找与进程相关的PID号:ps aux | grep program_filter_word ps a 显示现行终端机下的所有程序,包括其他用户的程序。 ps -A 显示所有程序。 ps c 列出程序时,显示每个程序真正的指令名称,而不包含路径,参数或常驻服务的标示。 ps -e 此参数的效果和指定”A”参数相同。 ps e 列出程序时,显示每个程序所使用的环境变量。 ps f 用ASCII字符显示树状结构,表达程序间的相互关系。 ps -H 显示树状结构,表示程序间的相互关系。 ps -N 显示所有的程序,除了执行ps指令终端机下的程序之外。 ps s 采用程序信号的格式显示程序状况。 ps S 列出程序时,包括已中断的子程序资料。 ps -t<终端机编号> 指定终端机编号,并列出属于该终端机的程序的状况。 ps u 以用户为主的格式来显示程序状况。 ps x 显示所有程序,不以终端机来区分。 最常用的方法是ps aux,然后再通过管道使用grep命令过滤查找特定的进程,然后再对特定的进程进行操作。 其次,使用kill命令结束进程:kill xxx 1)作用 kill命令用来中止一个进程。 2)格式 kill [ -s signal | -p ] [ -a ] pid … kill -l [ signal ] 3)参数 -s:指定发送的信号。 -p:模拟发送信号。 -l:指定信号的名称列表。 pid:要中止进程的ID号。 Signal:表示信号。 4)说明 进程是Linux系统中一个非常重要的概念。Linux是一个多任务的操作系统,系统上经常同时运行着多个进程。我们不关心这些进程究竟是如何分配的,或者是内核如何管理分配时间片的,所关心的是如何去控制这些进程,让它们能够很好地为用户服务。 Linux操作系统包括三种不同类型的进程,每种进程都有自己的特点和属性。交互进程是由一个Shell启动的进程。交互进程既可以在前台运行,也可以在后台运行。批处理进程和终端没有联系,是一个进程序列。监控进程(也称系统守护进程)是Linux系统启动时启动的进程,并在后台运行。例如,httpd 是著名的Apache服务器的监控进程。 kill命令的工作原理是,向Linux系统的内核发送一个系统操作信号和某个程序的进程标识号,然后系统内核就可以对进程标识号指定的进程进行操作。比如在top命令中,我们看到系统运行许多进程,有时就需要使用kill中止某些进程来提高系统资源。在讲解安装和登陆命令时,曾提到系统多个虚拟控制台的作用是当一个程序出错造成系统死锁时,可以切换到其它虚拟控制台工作关闭这个程序。此时使用的命令就是kill,因为kill是大多数Shell内部命令可以直接调用的。 5)应用实例 (1)强行中止(经常使用杀掉)一个进程标识号为324的进程: #kill -9 324 (2)解除Linux系统的死锁 在 Linux中有时会发生这样一种情况:一个程序崩溃,并且处于死锁的状态。此时一般不用重新启动计算机,只需要中止(或者说是关闭)这个有问题的程序即可。当kill处于X-Window界面时,主要的程序(除了崩溃的程序之外)一般都已经正常启动了。此时打开一个终端,在那里中止有问题的程序。比如,如果Mozilla浏览器程序出现了锁死的情况,可以使用kill命令来中止所有包含有Mozolla浏览器的程序。首先用ps命令查找该程序的 PID,然后使用kill命令停止这个程序: #kill -SIGKILL XXX 其中,XXX是包含有Mozolla浏览器的程序的进程标识号。 (3)使用命令回收内存 我们知道内存对于系统是非常重要的,回收内存可以提高系统资源。kill命令可以及时地中止一些”越轨”的程序或很长时间没有相应的程序。例如,使用top命令发现一个无用 (Zombie) 的进程,此时可以使用下面命令: #kill -9 XXX 其中,XXX是无用的进程标识号。 然后使用下面命令: #free 此时会发现可用内存容量增加了。 (4)killall命令 Linux下还提供了一个kil

02

如何保住运维这个铁饭碗?Linux系统运维之修炼秘法

来源:马哥教育链接:https://mp.weixin.qq.com/s/727F4B_uL2aAPqJUsdRtfw在这个现如今的互联网高速发展的时代,如何才能保持住一门铁的饭碗。无疑最稳妥的自然就是选择一门任何时代都不会落伍的技能,来选择深入学习研究。大家可能觉得这一期的Linux就该这么学的话题比较世俗。但是不得不说,当下时代唯有一定的经济能力,才可稳当的在这个社会上立足。而接下来要给大家介绍的就是一门发展延伸了很多年且越来越火的技能,那就是我们今天的猪脚——Linux运维。而想要拿到铁饭碗乃至高薪。那唯有将Linux运维这部功法修炼到至高境界。才有拿到高薪的机会。而本期讨论的就是如何修炼Linux运维。首先先给大家看一下Linux运维工程师必备技能:1. Linux系统基础2. 网络服务3. Shell脚本语言4. 数据库5. 防火墙6. 监控工具7. 集群于热备8. 数据备份9. 文本处理10. 正则表达式然后在这里给大家罗列出几条Linux运维修炼心经:1、从思维上摆脱传统Windows系统思维模式。相信绝大部分人使用计算机时所接触到的首个操作系统仍然是Windows系列操作系统,而且可能在接触Linux操作系统之前已经使用了很长时间的Windows系统操作系统了。这样,就很容易在我们的脑海里形式Windows系统操作系统的操作习惯和思维习惯。虽说Linux和Windows均是操作系统,功能上没有太大的差别。但是,Linux的操作习惯和思维方式与Windows还是有很大差别的。如,笔者第一次安装好“蓝点”后就为找不到D盘而疑惑。同时,笔者接触到Linux新手大部分都有一个习惯:学习Linux习惯于在图形化界面上操作,估计就是受Windows影响的缘故。2、多动手,勤于实践。本人也经常遇到初学者问我有什么好的方法学好Linux。我基本上每次都类似回答他们:没有什么好办法,只有多动手,勤于实践。学习计算机有一个非常好的优势就是,你测试环境下或虚拟机上搞测试不需要太担心把机器搞坏,即使把系统搞坏了,大不了重装系统就是了。计算机方面的知识很多都是非常抽象的,很多时候如果我们只是看书,往往是看得云里雾里,只有通过不断的实践,测试,验证才能真正搞懂一个概念。3、要有不畏惧困难和强烈的研究精神。经常看到许多新手一遇到问题就论坛上去发帖,向高手求教。而且许多时候这些人似乎要求所谓的高手拥有灵丹妙药,对于他们的问题给出详细的解决方法甚至完善的步骤。其实这是最要不得的对待问题的态度。虽然,高手给我们提供的解决问题的建议或许对我们有很大的参考价值,但是仅仅只能作为参考,我们不能不加思考的照搬他们的方法。4、善于整理和总结知识是要通过不断的整理和总结才能升化和系列化的。当我们每次遇到问题时,都能记录当时的场景以及解决方法,随着我们学习的不断深入,那么我们所积累的知识也就越来越丰富。5、要有很强的责任心和使命感。基本上运维是系统对外提供服务的最后的把关者。因此,一个系统对用户来说是不是稳定跟运维有很大的关系。特别是,当系统不出现问题的时候,许多运维都不重视容灾备份和数据安全,这样一旦系统出现了故障,系统的恢复就需要花很长的时间。6、要有不断的学习精神计算机的发展真是太快了,新的知识、新的技术层出不穷。如果不持续的保持不断学习,那么很快知识就会老化,跟不上时代发展的需要。7、要有精益求精的精神应该说运维的工作的弹性还是很大的。即可以非常粗造的运维一个系统,也可以持续改进、优化系统,使系统越来越高效的运行。而如何让一个系统越来越高效的运行,就需要我们具有精益求精的精神,持继地进行改进。这几条里,最重要的是第2和第4条,一定要养成动手和总结的习惯!除此之外,了解一下职位的必须技能,在学习的时候针对性的进行强化。去一些招聘网站,搜集一下运维工程师的职位要求,将这些职位要求进行汇总后,得出一条学习路线。学习最忌心焦气燥,调整一下心态,多和同道交流,争取早日成为一名Linux运维工程师! ��}ު�I!个铁饭碗?Linux系统运维之修炼秘法

07
领券