centos(11)-ps进程管理

news/2024/12/23 5:46:07/

使用rpm和yum安装完后,保留在磁盘上的那叫程序。当使用命令启动程序时,他运行在内存中就叫进程。

查看进程

ps:查看进程。这里看到的只有当前环境的进程,还有其他环境和后台进程并没有显示。结果第一行是标题:


PID:是进程id,由系统分配,非常重要。有些命令必要通过这个id找到这个进程,才能进行下一步操作。

TTY:进程的执行终端,下面会讲。

TIME:该进程总共占用cpu的时间,如果该进程运行时什么事也没做,没有占用cpu,也就不算时间。

CMD:进程启动命令。

bash:在登录putty时,默认会执行一个bash命令,开启bash程序,即命令行,可以在此输入各种命令,这个bash本生就是一个进程。

ps:这就是我执行的ps命令,它会开启一个进程来执行命令,执行完后,这个进程马上就会结束。

当我再次执行ps命令时,ps的PID变成了下图的1358,这又是一个新的进程,而上图中的那个1356进程已经在一瞬间结束了。而bash的PID始终是1339,因为我们并没有关闭命令行,所以这个进程一直存在。执行exit命令可以退出当前bash。


终端与虚拟终端

终端:在早期计算机价格昂贵的年代,一台主机可以有多台终端机,供多人同时使用。每台终端机只需要有输入输出设备,如键盘和显示器。输入命令发送到主机执行,返回结果到显示器显示。

虚拟终端:在人手一台主机的年代,可以在主机上运行软件来模拟终端,比如putty,这样的终端称为虚拟终端。

ps -e|grep bash:-e是查看所有进程,包含后台进程,并且用grep过滤只查看bash,看看现在有多少人登录到了bash。


使用了grep就不会显示标题了,现在看第二列即TTY列。

tty1:终端1,在虚拟机中输入用户名密码登录,就打开了终端1。在虚拟机中按ctrl+alt+F2,会切换到终端2,即tty2。默认有六个,F1-F6。

pts/3:虚拟终端/3,从前面的图可以看出我现在正在pts/3,即第四个虚拟终端上操作。我现在只开了这一个putty,那么0-2是又是什么?然道是黑客?并不是。。而是我之前开过的三个putty,由于非正常关闭的原因,导致它们现在仍然存在,成了僵尸程序。重启服务器可以结束它们,但是线上服务器怎么可能随意重启?

kill结束进程

kill -15 PID:正常结束进程。
kill -9 PID:强行结束进程。
这两种有什么区别?比如某个程序正在运行中,可能会产生一些临时文件,按正常结束流程,会先删除这些文件再结束。而强行结束,只管将程序杀死,其它什么也不管,相当于拔电源强行关机。平时优先使用-15正常结束,只有在无法正常结束,而且没有其他结束方法的时候才会使用-9。
kill -15 1076:虚拟终端pts/0的bash的PID是1076,可是无法正常结束它,之后用-9强行结束了。为什么这个进程无法正常结束?继续往下看。

父进程、子进程、fork

ps -f:-f是显示更多完整的信息。现在多了几列,这里只讨论PPID:即parent PID父进程。ps的父进程1437正是bash的PID。

在bash中执行ps命令时,bash即父进程会复制一个子进程,并继承父进程的环境,最终由子进程来执行ps。这种复制方式就是fork,在以后讲服务的时候需要配置fork,并理解父子进程,所以这里提前说一下。


那么bash的父进程1433又是什么?它不属于当前终端的进程,仅ps命令查不到,如果要查看所有进程,可以使用-e选项。

ps -ef|grep 1433:在所有进程中查找1433,并且使用-f格式。

注意:这是最常用的搜索进程命令,比如要查找tomcat进程是否启动成功,是否正在运行,可以执行ps -ef|grep tomcat。


结果第一行就是1433,它的终端是?,这是因为在服务器启动时,会自动开启一些后台服务,这些进程是与终端无关的。而sshd: root@pts/3又是什么?如果继续往上找994,会发现994是sshd进程,就是ssh的守护进程,即开机自启的ssh服务,下篇会讲。那么sshd: root@pts/3就是ssdh的子进程,也就是每开一个putty终端,sshd都会开一个对应的子进程。然后通过ssdh的子进程来打开我们putty中的bash。所以上面在执行kill -15 1076结束pts/0的bash的时候,由于其绑定的父进程sshd: root@pts/0一直存在,所以这样正常结束子进程是无效的。


现在我们用kill -15 1433结束当前bash的父进程sshd: root@pts/3,如下图,putty被断掉。因为子进程bash也被一起杀掉了,这就是有效的。你再重新开一个putty去搜索子进程的PID是搜不到的。 


注意:

1.有的进程并没有与其绑定的父进程,那就可以直接正常结束了。比如你装个tomcat运行,会发现他的PPID是1,这种顶级数字的进程显然不是。

2.kill -15杀不掉还会有其他原因,比如程序文件等已经被破坏,这就不是父进程的问题了。


http://www.ppmy.cn/news/784683.html

相关文章

学习设计到底应该学习figma、sketch还是PS

如果你做平面设计、拍摄后期、电子商务设计、字体设计等,那就学习吧PS。 如果你是做UI设计、原型设计或交互设计,推荐您优先学习Sketch或Figma,当你有余力的时候,考虑学习PS。 除了这些国外的软件,国内设计软件最近两…

2021-2025年中国入侵检测和预防系统(IDPS)软件行业市场供需与战略研究报告

入侵检测和预防系统(IDPS)软件市场的企业竞争态势 该报告涉及的主要国际市场参与者有McAfee、Trend Micro、Darktrace、Cisco、AT&T Cybersecurity、Palo Alto Networks、NSFocus、Blumira、GFI Software、Vectra AI、Splunk Technology、Check Poin…

ps计算机设置,不仅要懂PS 浅谈修图电脑配置(基础篇)

【IT168 导购】电脑是重要的摄影周边附件。伴随高像素、高速连拍、高清视频的发展,摄影也已成为大家更新电脑的重要推动力。ET准备用3篇文章向大家介绍修图电脑的相关知识,这一篇是基础篇,后面还有针对台式机(包括显示器)和笔记本的内容。 对于图片处理来说,影响速度的3个关…

全国计算机二级模拟考试软件,全国计算机等级考试模拟考试软件

全国计算机等级考试模拟是一款方便实用的考试软件,软件功能强大操作简单,玩家只需按步骤操作,将软件安装好就可以进行练习了,这里面包含了所有计算机考试真题,非常适合正在备考的你,喜欢的朋友快来旋风软件…

Ps 的模板文件格式 PSDT

自 Photoshop CC 2015.5 版以后,Ps 中新增了一种文件格式:.PSDT。 说明: PSD、PDD、PSDT 都是 Ps 的专用文件格式,可保存图层、通道、路径等信息,文件比较大。需要继续在 Ps中进行编辑的文件应存为此类格式。 PDD Phot…

基于SpringBoot+vue的电影售票系统

文章目录 项目介绍主要功能截图:部分代码展示设计总结项目获取方式 🍅 作者主页:Java韩立 🍅 简介:Java领域优质创作者🏆、 简历模板、学习资料、面试题库【关注我,都给你】 🍅文末获…

用PS怎么画虚线圆?

按F5打开画笔工具栏,界面最低有调整间距一栏,增加画笔间距即可。这是画虚线方法。画虚线圆的话可以用自定义形状中的椭圆工具(注意画之前要先选择为【路径】类型),画时按住shift画出圆形。再按F7打开路径工具栏&#x…

PS“矩形工具”的多样式

**PS“矩形工具”的多样式** PS的矩形工具不仅仅可以画出正方形、长方形、圆角矩形,还可以画出椭圆形、多边形,还有一个自定义工具,可以变化不同形状。![在这里插入图片描述](https://img-blog.csdnimg.cn/20190330195238944.?x-oss-process…