1. ps命令
进程是在你的系统上运行的程序。它们由内核管理,每个进程都有一个与之关联的ID,称为进程ID(PID)。这个PID是按照进程创建的顺序分配的。
(资料图片)
运行ps命令查看正在运行的进程列表:
ubuntu@ubuntu:~$psPIDTTYTIMECMD3309pts/10000bash3794pts/10000psubuntu@ubuntu:~$
PID:进程ID
TTY:控制与进程相关联的终端
TIME:总CPU使用时间
CMD:可执行/命令的名称
如果你看一下ps的man手册,你会发现有很多命令选项可以传递,它们会根据你想使用的选项而变化输出结果。
ubuntu@ubuntu:~$ps--helpallUsage:ps[options]Basicoptions:-A,-eallprocesses-aallwithtty,exceptsessionleadersaallwithtty,includingotherusers-dallexceptsessionleaders-N,--deselectnegateselectionronlyrunningprocessesTallprocessesonthisterminalxprocesseswithoutcontrollingttysSelectionbylist:-Ccommandname-G,--Group realgroupidorname-g,--group sessionoreffectivegroupname-p,p,--pid processid--ppid parentprocessid-q,q,--quick-pid processid(quickmode)-s,--sid sessionid-t,t,--tty terminal-u,U,--user effectiveuseridorname-U,--User realuseridornameTheselectionoptionstakeastheirargumenteither:acomma-separatedliste.g."-uroot,nobody"orablank-separatedliste.g."-p1234567"Outputformats:-Fextrafull-ffull-format,includingcommandlinesf,--forestasciiartprocesstree-Hshowprocesshierarchy-jjobsformatjBSDjobcontrolformat-llongformatlBSDlongformat-M,Zaddsecuritydata(forSELinux)-O preloadedwithdefaultcolumnsO as-O,withBSDpersonality-o,o,--format user-definedformatssignalformatuuser-orientedformatvvirtualmemoryformatXregisterformat-ydonotshowflags,showrssvs.addr(usedwith-l)--contextdisplaysecuritycontext(forSELinux)--headersrepeatheaderlines,oneperpage--no-headersdonotprintheaderatall--cols,--columns,--width setscreenwidth--rows,--lines setscreenheightShowthreads:Hasiftheywereprocesses-LpossiblywithLWPandNLWPcolumns-m,mafterprocesses-TpossiblywithSPIDcolumnMiscellaneousoptions:-cshowschedulingclasswith-loptioncshowtruecommandnameeshowtheenvironmentaftercommandk,--sortspecifysortorderas:[+|-]key[,[+|-]key[,...]]LshowformatspecifiersndisplaynumericuidandwchanS,--cumulativeincludesomedeadchildprocessdata-ydonotshowflags,showrss(onlywith-l)-V,V,--versiondisplayversioninformationandexit-w,wunlimitedoutputwidth--help displayhelpandexitFormoredetailsseeps(1).
常用的操作命令:
psaux
USER:有效用户(我们正在使用其访问权限的用户)
PID:进程号
%CPU: CPU使用时间除以进程运行时间
%MEM:进程的常驻集大小与机器上物理内存的比率
VSZ:整个进程的虚拟内存使用情况
RSS:常驻集大小,任务使用的非交换物理内存
TTY:控制与进程关联的终端
STAT:进程状态码
START:进程的开始时间
TIME:总CPU使用时间
COMMAND:可执行文件/命令的名称
另一个非常有用的命令是top命令,top为你提供有关系统上运行的进程的实时信息,而不是快照。默认情况下,你会每10秒刷新一次。top是一个非常有用的工具,可以查看哪些进程占用了大量资源。此处我们对top命令不做过多的讲解,想了解的小伙伴可以查看我之前的文章,有对top命令做详细的讲解。
2. 进程的细节
在我们深入了解进程的更多实际应用之前,我们必须了解它是什么以及它是如何工作的。
我们上面说过,进程是系统上正在运行的程序,更准确地说,它是系统分配内存、CPU、I/O以使程序运行的过程。一个进程是一个正在运行的程序的实例,打开3个终端窗口,在两个窗口中运行cat命令,不传递任何选项(cat进程将作为一个进程保持打开状态,因为它期望stdin)。现在在第三个窗口运行:ps aux | grep cat。将看到cat有两个进程,尽管它们调用的是同一个程序。
内核负责进程,当我们运行一个程序时,内核将程序的代码加载到内存中,确定和分配资源,然后监视每个进程:
进程的状态
进程正在使用和接收的资源
进程所有者
进程信号处理
基本上所有的其他事情
所有进程都在占用资源,内核的工作是确保进程根据自身需求获得正确数量的资源。当一个进程结束时,它所使用的资源将被释放给其他进程使用。
3. 进程创建
当创建一个新进程时,现有进程基本上会使用称为fork系统调用的函数克隆自己。fork系统调用创建了一个基本相同的子进程,这个子进程有一个新的进程ID(PID),原始进程成为它的父进程,并有一个称为父进程ID PPID的东西。之后,子进程可以继续使用其父进程之前使用的相同程序,或者更经常地使用execve系统调用来启动一个新程序。这个系统调用破坏了内核为该进程设置的内存管理,并为新程序设置了新的内存管理。
l选项为我们提供了正在运行的进程的“长格式”甚至更详细的视图。你会看到一个标记为PPID的列,这是父ID。现在看看你的终端,你将看到正在运行的进程是你的shell,因此在我的系统上有一个运行bash的进程。现在请记住,当你运行ps l命令时,是从运行bash的进程中运行它的。bash shell的PID是ps l命令的PPID。
当系统启动时,内核创建了一个名为init的进程,它的PID为1。除非系统关闭,否则无法终止init进程。它以根权限运行,并运行许多保持系统运行的进程。
4. 进程终止
上面我们知道创建进程时会发生什么,那么当我们不再需要它时会发生什么呢?
进程可以使用_exit系统调用退出,这将释放进程用于重新分配的资源。因此,当一个进程准备终止时,它会用一个叫做终止状态的东西让内核知道它为什么要终止。通常情况下,状态为0表示进程终止成功。然而,这还不足以完全终止一个流程。父进程必须通过使用等待系统调用来确认子进程的终止,这是为了检查子进程的终止状态。
孤儿进程当父进程在子进程之前死亡时,内核知道它不会得到一个等待调用,所以它会让这些进程成为“孤儿”,并将它们置于init(记住所有进程的父进程)的照顾下。init将最终为这些孤儿执行等待系统调用,以便它们可以终止。
僵尸进程当子进程终止而父进程还没有调用wait时会发生什么? 我们仍然希望能够看到子进程是如何终止的,因此即使子进程完成了,内核也会将子进程变成僵尸进程。子进程使用的资源仍然被释放给其他进程使用,但是进程表中仍然有这个僵尸进程的条目。僵尸进程也不能被杀死,因为它们在技术上是“死亡”的,所以你不能使用信号来杀死它们。最终,如果父进程调用等待系统调用,僵尸进程将消失,这被称为“收割”。如果父进程没有执行等待调用,init将收养僵尸进程并自动执行等待并移除僵尸进程。僵尸进程太多可能是一件坏事,因为它们会占用进程表上的空间,如果它被填满,就会阻止其他进程运行。
5. 信号
信号是对进程的通知,告诉它发生了什么事情。
为什么有信号?
它是软件中断,有很多用途:
用户可以输入一个特殊的终端字符(Ctrl-C)或(Ctrl-Z)来终止、中断或挂起进程
硬件问题发生时,内核想要通知进程
软件问题发生时,内核想要通知进程
进程通信的方式
信号处理
当一个信号由某个事件生成时,它被传递给一个进程,在传递之前它被认为处于挂起状态。当进程运行时,信号将被传递。但是,进程具有信号掩码,如果指定的话,它们可以将信号传递设置为阻塞。当一个信号被传递时,进程可以做很多事情:
忽略信号
“捕获”信号并执行特定的处理程序例程
进程可以终止,而不是正常的退出系统调用
阻塞信号,取决于信号掩码
常见的信号
每个信号都由具有符号名的整数定义,符号名的形式为SIGxxx。一些最常见的信号是:
SIGHUP或HUP或1:挂机
SIGINT或INT或2:中断
SIGKILL或KILL或9:杀死
SIGSEGV或SEGV或11:分割错误
SIGTERM或TERM或15:软件终止
SIGSTOP或STOP:停止数字会随着信号的变化而变化,所以通常用它们的名字来表示。
有些信号是不可阻挡的,例如SIGKILL信号。KILL信号杀死进程。
6. kill命令
可以发送终止进程的信号,这样的命令被命名为kill命令。
kill12345
12345是要终止的进程的PID。默认情况下,它发送一个TERM信号。SIGTERM信号被发送到进程,进程释放其资源并保存其状态来请求终止进程。
还可以使用kill命令指定一个信号:
kill-912345
这将运行SIGKILL信号并终止进程。
SIGHUP, SIGINT, SIGTERM, SIGKILL, SIGSTOP信号
这些信号看起来都相似,但它们确实有不同之处。
SIGHUP 挂起,当控制终端关闭时发送给进程。例如,如果关闭了一个终端窗口,其中正在运行一个进程,那么将得到一个SIGHUP信号。
SIGINT 是一个中断信号,因此可以使用Ctrl-C,系统将尝试优雅地终止进程
SIGTERM 终止进程,但允许它先做一些清理工作
SIGKILL 杀死进程,不做任何清理
SIGSTOP 停止/挂起进程
7. 进程优先级
当你在电脑上同时运行多个程序时,比如Chrome、Microsoft Word或Photoshop,看起来这些进程是同时运行的,但事实并非如此。
进程使用CPU的时间,称为时间片。然后它们暂停几毫秒,另一个进程得到一点时间切片。默认情况下,进程调度以这种循环方式进行。每个进程都有足够的时间片,直到它完成处理。内核处理所有这些进程的切换,并且大多数时候它都做得很好。
进程无法决定何时以及多长时间获得CPU时间,如果所有进程正常运行,它们将大致获得相同数量的CPU时间。但是,有一种方法可以用一个不错的值来影响内核的进程调度算法。优先级它的意思是进程有一个数字来确定它们对CPU的优先级。数值高意味着进程很好,对CPU的优先级较低,数值低或为负数意味着进程不是很好,它想要尽可能多地获得CPU。
要更改进程优先级别,可以使用nice和renice命令:
nice-n5aptupgraderenice10-p3245
nice命令用于设置新进程的优先级。renice命令用于设置已存在进程的优先级。
8. 进程状态
我们再来看一下:ps aux命令
在STAT列中,看到许多值。linux进程可以处于许多不同的状态。你将看到的最常见的如下所示:
R: running或runnable,它只是在等待CPU处理它
S:可中断休眠,等待一个事件完成,例如来自终端的输入
D:不间断睡眠,不能被信号杀死或中断的进程,通常要让它们消失,你必须重新启动或修复问题
Z:僵尸进程,僵尸是正在等待收集其状态的终止进程
T: Stopped,已挂起/停止的进程
9. /proc文件系统
在Linux中一切皆文件,包括进程。进程信息存储在一个称为/proc文件系统的特殊文件系统中。
这里看到多个值,每个PID都有子目录。如果查看ps输出中的PID,则可以在/proc目录中找到它。
进入其中一个进程并查看该文件:
你能看到进程状态信息以及更详细的信息。/proc目录是内核查看系统的方式,因此这里有比ps中更多的信息。
10. Job控制
假设你正在一个终端窗口上工作,并且正在运行一个命令,该命令将花费很长时间。在它完成之前,你不能与shell交互,但是我们希望继续在我们的机器上工作,因此我们需要打开shell。我们可以控制我们的进程如何运行:
将工作发送到后台
在命令后添加&号将在后台运行该命令:
sleep1000&sleep1001&sleep1002&
查看后台进程
将进程从后台移动到前台
要将进程移出后台,只需指定所需的进程ID。如果不带任何选项地运行fg,它将带回最近的后台进程。
审核编辑:汤梓红
标签:
上一篇 : 帮助你的人,不要只知道请他吃饭,这些感谢方式更靠谱
下一篇 : 最后一页
最新推荐
近日,乐事薯片推出了一个小家电——洗手指机。这对薯片爱好者来说是十分实用的小物件,可以做到秒开吃...
律师兼任调解员,不打官司也能化解纠纷,代理调解受指派的公益性案件还免费。这是兵团第十师北屯市探索...
根据教育部教育考试院统一安排,2022年上半年全国大学英语四、六级口语考试将于5月21日-22日举行,笔试...
学生代购的“苦”与“乐” “你问的这个产品现在做促销活动,买一件包邮,还送小样和面膜……”...
11月11日大连市新冠肺炎疫情防控总指挥部发布,11月10日0时至24时,大连市新增21例本土新冠肺炎确诊...
纤维素制成闪光材料无毒可降解 或彻底改变化妆品行业 科技日报北京11月11日电 (实习记者张...
海洋中或堆积了2 8万吨新冠废物 科技日报北京11月11日电 (记者刘霞)据美国趣味科学网站10日报...
开屏广告又现新花招,换个马甲就重来? ■ 来论 据媒体报道,“双十一”期间,一些App的开屏...
对不合理教师资格认定标准,该全面清理了 ■ 来论 针对网友留言反映的“糖尿病无法通过教师...
虚假宣传、以次充好、售卖临期产品不提示直播间商家“放水”让消费者闹心 关注“双11” 今年...
“扫码抽手机”实则是广告 快递单能“领红包”面单广告是谁发的? “双11”之际,消费者被商...
中新网11月12日电 据北京市疾病预防控制中心微信公众号消息,2021年11月10日北京市接报1例在京存在...
(抗击新冠肺炎)辽宁大连本轮疫情病毒为德尔塔变异株 24个区域划定为中风险地区 中新社大连11月1...
中新网西安11月11日电 (梅镱泷 杨起超)记者11日从西安市鄠邑区秦保局获悉,太平国有生态林场架设...
(抗击新冠肺炎)成都停业整顿56家零售药店 买感冒药需提供身份证 中新网成都11月11日电 (记者 ...
中新网大连11月11日电 (记者 杨毅) 11月11日,大连市政府秘书长衣庆焘在大连疫情防控新闻发布会...
新华社杭州11月11日电(记者冯源)在商周时期,如今的浙江中西部活跃着一个名为“姑蔑”的族群,但是...
中新网大连11月11日电 (记者 杨毅)11月11日,大连市政府秘书长衣庆焘在大连疫情防控工作新闻发布...
中新网大连11月11日电 (记者 杨毅)11月11日,大连市政府秘书长衣庆焘在大连疫情防控工作新闻发布...
中新网昆明11月11日电(记者 缪超)云南“最美政法干警”发布仪式11日在昆明举行。会上,授予昆明市...
(抗击新冠肺炎)甘肃凝聚“她力量”:互助抗疫,女人更懂女人心 中新网兰州11月11日电 (记者 徐...
中新网兰州11月11日电 (史静静)在甘肃金川公司,27年来葛小海始终在生产一线,他参与的“渣罐车制...
中新网乌鲁木齐11月11日电 (王小军 罗宣政 廖超)11月11日,一批来自浙江嘉兴的爱心物资,跨越...
中新网兰州11月11日电 (邬凡 朱学成)11月10日5时30分,位于敦煌车站旁的敦煌综合工区,钢轨探伤车...
中新网重庆11月11日电 (梁钦卿)“我今年上小学三年级了,我不怕疼,打疫苗是为了抵抗新冠病毒。”1...
中新网绵阳11月11日电 (岳波 李远梅)四川绵阳警方11日通报称,一男子酒后无聊多次报警称自己的...
中新网11月11日电 据中国民航局网站消息,11月11日,民航局再发熔断指令,对德国汉莎航空公司LH728...
中新网成都11月11日电 题:疫情中轮椅上的“逆行者”:想为大家做力所能及的事 作者 祝欢 ...
中新网上海11月11日电 (记者 李姝徵)上海警方11日召开发布会披露,在近期“砺剑”行动中破获了一...
中新网太原11月11日电 (记者 李庭耀)记者11日从山西省政府新闻办举行的新闻发布会上获悉,山西推...
中新网乌鲁木齐11月11日电 (刘雨珊 牛雨萌 艾尼)11日,记者从新疆水产科研所获悉,新疆博湖县将...
中新网大连11月11日电 (记者 杨毅)大连市新冠肺炎疫情防控总指挥部 11日发布公告,大连市将庄河...
中新网西安11月11日电 (记者 党田野)身穿白色“礼服”,摇晃着酒杯,时不时浅酌一口啤酒,然后与...
11月11日大连市新冠肺炎疫情防控总指挥部发布,按照国务院应对新冠肺炎疫情联防联控机制关于科学划...
中新网南京11月11日电 题:这个“双十一”南京的猪都“脱单”了 其实还有更让人嫉妒的…… ...
中新网呼伦贝尔11月11日电 (记者 张林虎)11日,记者从内蒙古自治区呼伦贝尔市公安局获悉,该局将...
中新网广州11月11日电 (记者 程景伟)“寻味帅府邂逅甜蜜——2021年帅府之夜”暨“海外拾珠——孙...
中新网徐州11月11日电 题:江苏徐州“家门口车管所”便民服务驶入“高速路” 作者 朱志庚 ...
中新网重庆11月11日电 (梁钦卿)为加强秋冬季空气污染应对,重庆市生态环境局11日发出2021年第九次...
新华社重庆11月11日电 题:深藏功名三十载 化作春蚕报乡亲——一名抗美援朝老兵的人生选择 新...
中新网益阳11月11日电 (王鹏 王庆庆)爱花本是修身养性、陶冶情操之事,湖南益阳市桃江县桃花江镇...
中新网成都11月11日电 题:成都25位民辅警的“封闭”生活:有人“转行”送外卖 有人变身“仓鼠管...
中新网南京11月11日电 (徐珊珊)江苏省教育厅体育卫生与艺术教育处处长张鲤鲤11日在南京表示,到202...
中新网成都11月11日电 (记者 吕杨)成都市公园城市建设管理局11日正式发布公园城市银杏观叶指数,...
中新网南京11月11日电 (徐珊珊)11日,江苏省教育厅召开新闻发布会,发布2020年江苏省学生体质健康...
中新网宜昌11月11日电 (江雅丽 董晓斌)17年前,四川广安一夫妇的6岁儿子被人拐走,夫妻俩寻找多年...
中新网宁德11月11日电 (林榕生)福建宁德市柘荣县应对新型冠状病毒感染肺炎疫情工作领导小组(指挥部...
11月11日,内蒙古额济纳旗新冠肺炎防控工作指挥部发布《关于调整额济纳旗达来呼布镇风险等级的公告...
(抗击新冠肺炎)内蒙古现有本土确诊病例32例 伊金霍洛旗确诊病例清零 中新网呼和浩特11月11日电...
中新网呼和浩特11月11日电 (记者 张林虎)11日,记者从内蒙古自治区通辽市相关部门获悉,从10日下...
成都抗疫的外籍志愿者:愿为城市“康复”贡献力量
Copyright © 2015-2022 起点律师网版权所有 备案号:皖ICP备2022009963号-12 联系邮箱: 39 60 29 14 2@qq.com