zoukankan      html  css  js  c++  java
  • Linux笔记:进程管理

    Windows中可以通过任务管理器来查看对应的进程信息以及系统资源等信息,Linux中则通常使用“ps aux”来查看这些信息。

    查看所有进程和系统资源
    ps aux或ps -le:查看所有进程即系统资源的使用,前者使用的是BSD操作系统格式,即Unix系统格式,a表示前台进程,u表示创建该进程的用户,x表示后台进程。后者为Linux标准命令格式,l表示显示详细信息,e表示显示所有进程。使用哪个命令看使用者习惯就行,但其实前者在Linux中更为常用。
    ps aux输出释义(每一行为一个系统进程):

    • USER:创建该进程的用户。
    • PID:进程ID。
    • %CPU:CPU利用率。
    • %MEM:内存占用率。
    • VSZ:虚拟内存占用大小,单位为KB。
    • RSS:物理内存占用大小,单位为KB。
    • TTY:进程登录的终端,问号?表示由系统内核直接启动。tty1-tty7是本地终端,tty1-tty6是本地字符终端,tty7是本地图形界面终端,pts/0到pts/255表示虚拟终端(可以理解为远程终端)。
    • STAT:进程状态,这个状态有很多值,常见的有R(运行)、S(睡眠)、T(停止状态)、s(包含子进程)、+(位于后台)。
    • START:启动时间。
    • TIME:占用CPU的运算时间。
    • COMMAND:产生此进程的命令(通常由此看出运行的是哪个进程)。

    查看进程树:pstree [选项]
    选项:

    • -p:显示进程的PID。
    • -u:显示进程的所属用户。

    查看系统健康状态
    top [选项]:查看系统健康状态。
    选项:

    • -d 秒数:指定top命令的结果的刷新间隔时间,默认为3秒。

    top命令的交互模式下可以执行以下命令:

    • ?或h:显示交互模式的帮助。
    • P:以CPU使用率排序,也是默认项。
    • M:以内存的使用率排序。
    • N:以PID排序。
    • q:退出top。

    top命令开始几行的信息查看:
    第一行(系统信息)

    • 12:26:46:当前系统时间。
    • up 1 day, 13:32:当前系统已经运行了多少时间,这里表示本机已经运行了1天13小时32分钟。
    • 2 users:当前登录了多少个用户。
    • load average: 0.00, 0.00, 0.00:系统在之前的1分钟、5分钟、15分钟的平均负载。一般认为小于1(根据CPU核数而定,4核就是4)则负载较小,反之超过了就是系统已经超出了负载(这个信息是查看系统健康状态的重要项)。

    第二行(Tasks: 进程信息)

    • 95 total:系统中的总进程数。
    • 1 running:正在运行的进程数。
    • 94 sleeping:睡眠的进程数。
    • 0 stopped:正在停止的进程。
    • 0 zombie:僵尸进程数(即一直在结束进程却没有结束成功的进程),如果不是0,则需要手工检查对应的僵尸进程。

    第三行(Cpu(s): CPU信息)

    • 0.1%us:用户模式占用的CPU百分比。
    • 0.1%sy:系统模式占用的CPU百分比。
    • 0.0%ni:改变过优先级的用户进程占用的CPU百分比。
    • 99.7%id:空闲CPU的CPU占用百分比(这个信息是查看系统健康状态的重要项)。
    • 0.1%wa:等待输入/输出的进程的CPU占用百分比。
    • 0.0%hi:硬中断请求服务的CPU占用百分比。
    • 0.1%si:软中断请求服务的CPU占用百分比。
    • 0.0%st:st(Steal time)虚拟时间百分比。就是当有虚拟机时,虚拟CPU等待实际CPU的时间的百分比。

    第四行(Mem: 物理内存信息)

    • 625344K total:物理内存的总量,单位为KB。
    • 571504k used:已经使用的物理内存数量(这个信息是查看系统健康状态的重要项)。
    • 53840k free:空闲的物理内存数量。
    • 65800k buffers:作为缓冲的内存数量。

    第五行(Swap:交换分区swap信息)

    • 524280k total:交换分区(虚拟内存)的总大小。
    • 0k used:已经使用的交换分区的大小。
    • 524280k free:空闲的交换分区的大小。
    • 409280k cached:作为缓冲的交换分区的大小。

    终止进程
    kill PID:终止进程。平常不建议使用这个终止进程的命令,应该使用每个进程自己的终止命令,如stop等,只有正常情况下终止不了的时候才使用系统的终止进程命令。
    kill -l:查看可使用的进程信号。
    常用的进程信号(信号代号(信号名称)):

    • 1(SIGHUP):立即关闭进程,然后重新读取配置文件之后重启进程。
    • 2(SIGINT):终止前台进程,相当于Ctrl+C。
    • 9(SIGKILL):立即结束程序,此信号不能被阻塞、处理和忽略,通常用于强制终止进程。
    • 15(SIGTERM):正常结束进程的信号,也是kill命令的默认信号。如果程序不能正常结束,此时可以使用信号9强制结束进程。
    • 示例:“kill -1 22354”表示重启PID为22354的进程。

    killall [选项][信号] 进程名:终止进程(包括其子进程)。
    选项:

    • -i:交互式,会询问是否终止某个进程。
    • -I:忽略进程名的大小写。
    • 示例:常用的就是“killall -9 进程名”。

    pkill [选项][信号] 进程名:按照进程名终止某个进程。
    选项:

    • -t 终端号:按照终端号踢出用户。
    • pkill命令在实际使用中还是挺常用的,在同时有多个管理员管理系统的时候,高权限的管理员可以使用t参数踢掉低权限的管理员,以防止自己的工作被干扰。
    • 示例:先使用w命令查看登录的用户,如tty1,然后使用pkill命令“pkill -9 -t tty1”强制踢出tty1这个终端。
  • 相关阅读:
    android studio 模拟器控制台发送短信和定位
    android获取超级权限
    android拦截获取别人发送过来的短信
    stackflow看到的获取手机联系人 contact 的代码
    surfaceview绘制矩形 drawRect
    Dialog自定义setView按钮点击没反应
    腾讯移动端性能测试利器PerfDog使用
    Mac下第一个Python程序:HelloWorld
    Mac 系统下安装 PyCharm 的实践
    如何用Chrome浏览器打开Axure原型的start.html文件
  • 原文地址:https://www.cnblogs.com/guyuyun/p/12732836.html
Copyright © 2011-2022 走看看