首页 > 系统相关 >Linux进程

Linux进程

时间:2022-10-12 19:59:37浏览次数:72  
标签:选项 百分比 命令 线程 Linux 进程 cpu

一、程序的定义

1.1、程序的特点

是计算机中能够识别执行的指令,运行在计算机当中,以满足用户的需求。

描述进程完成的情况,是用来控制进程的。

二、进程的定义

2.1、进程的特点

进程具体的特点是,具有动态性、并发性、独立性、结构性。

动态性:进程是程序一次执行的过程,是具有生命周期的,一旦周期过去,就会消亡。

并发性:任何进程都可以和其他进程一起并发执行

独立性:进程是系统调度资源分配的一个单独单元

结构性:进程由程序、数据、进程控制块三部分组成

2.2、僵尸进程

通常情况下,造成僵尸进程的成因是因为该进程本应该已经执行完毕,但是该进程的父进程却无法完整的将该进程结束掉,而造成该进程一直存在于内存中

2.3、线程

线程是操作系统能够进行运算调度的最小单位。它被包含在进程之中,是进程中的实际运作单位。一条线程指的是进程中一个单一顺序的控制流,一个进程中可以并发多个线程,每条线程并行执行不同的任务。在Unix System V及SunOS中也被称为轻量进程(lightweight processes),但轻量进程更多指内核线程(kernel thread),而把用户线程(user thread)称为线程。

三、管理进程的相关命令

3.1、ps命令

ps命令可以确定有哪些进程正在运行和运行的状态,进程是否结束、进程有没有僵尸、哪些进程占用的资源最多等等。

常用选项:

选项 效果
-a

显示当前终端下的所有进程信息,包括其他用户的进程。与“x”选项结合时将示系统中所有的进程信息。

-u

使用以用户为主的格式输出进程信息。

-x

显示当前用户在所有终端下的进程信息。

-e

显示系统内的所有进程信息。

-l 使用长(Long)格式显示进程信息。

 

ps aux:可以查看系统中所有进程

ps -le:可以查看系统中所有进程,而且还能看到进程的父进程的PID和进程优先级

ps -l :只能看到当前shell环境的进程

3.2、top命令

top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器。

top 命令的输出内容是动态的,默认每隔 3 秒刷新一次。命令的输出主要分为两部分

第一部分:在前五行,显示整个系统的资源使用状态。

第二部分:从第六行开始,显示的是系统中进程的信息

第一部分
(1)第一行 -----表示任务队列信息

  • 第一个时间               :表示系统时间
  • up部分                     :系统的运行时间
  • user                         :显示有几个用户登录
  • load                         :系统的负载情况

(2)第二行 ------进程信息

  • task                          :系统中的进程总数
  • running                    :正在运行的进程数
  • sleeping                    :睡眠的进程数
  • stopped                    :正在停止的进程数
  • zombie                      :僵尸进程数

(3)第三行 ----cpu信息

  • us                          :用户模式的占用的cpu百分比
  • sy                          :系统模式占用CPU的百分比
  •                              :改变过优先级的用户所占cpu的百分比
  • id                          :空闲cpu所占cpu的百分比
  • wa                         :等待输入/输出的进程占用cpu的百分比
  • hi                          :硬中断请求服务占用的cpu的百分比
  • si                           :软中断请求服务占用的cpu的百分比
  • st                           :虚拟时间百分比

(4)第四行---内物理存的信息

  • total                      :物理内存的总量
  • used                      :已经使用的物理内存的数量
  • ee                          :空闲的内存数量
  • buffers                   :作为缓存的内存数量

(5)第五行 ---交换分区的信息

  • toatal                     :交换分区的总量
  • used                      :已经使用的交换分区数量
  • free                        :空闲交换分区的大小
  • cached                   :作为缓存交换分区的大小

第二部分

top第二部分主要是系统进程信息。

下面有各个字符的信息

  • PID                :进程的id
  • USER            :该进程所属的用户
  • pR                 :优先级,数值越小越优先
  • VIRT             :该进程使用的虚拟内存的大小
  • RES              :该进程使用的物理内存的大小
  • SHR              :共享内存大小
  • S                   :进程状态
  • %CPU           :该进程占用CPU百分比
  • %MEM          :该进程占用内存的百分比
  • TIME+         :该进程占用的cpu的运算时间
  • COMMAND:进程的命令名

3.3、pgrep命令

查看指定的进程

pgrep + [选项] + 进程名

常用的选项

  • U:指定的用户
  • I:显示进程名
  • a:显示完整格式的进程名
  • p:显示指定进程的子进程

3.4、pstree命令

以树形结构的方式显示进程

pstree + [选项] + [用户或pid号]

常见的选项

  • a:显示每个进程对应的完整指令
  • p:显示pid号
  • T:不显示线程
  • u:显示用户切换
  • H:高亮显示指定进程

3.5、lsof命令

根据文件找到对应的进程关系

 
选项功能
-c 字符串 只列出以字符串开头的进程打开的文件。
+d 目录名 列出某个目录中所有被进程调用的文件。
-u 用户名 只列出某个用户的进程打开的文件。
-p pid 列出某个 PID 进程打开的文件。

 

四、进程的启动和关闭

4.1、进程的启动

前台启动:软件的前台运行,就是软件直接由窗口运行,能和电脑使用者互动的界面

后台启动:软件的前台运行,就是软件直接由窗口运行,能和电脑使用者互动的界面

4.2、进程的关闭

kill 命令用于删除执行中的程序或工作

命令格式

kill + [信号] + 进程号

常见信号

  • 1:重新加载进程
  • 9:杀掉一个进程
  • 15:正常结束一个进程

killall 命令
 Linux系统中的killall命令用于杀死指定名字的进程(kill processes by name)。我们可以使用kill命令杀死指定进程PID的进程,如果要找到我们需要杀死的进程,我们还需要在之前使用ps等命令再配合grep来查找进程,而killall把这两个过程合二为一,是一个很好用的命令。

killall +  [选项] +  [信号] + 进程名

常见选项

  • -i:交换式的方式,询问是否杀死某个进程
  • -l:忽略大小写

pkill命令

pkill命令 用于杀死一个进程,与 kill不同的是它会杀死指定名字的所有进程

命令格式

pkil    +  [-t 终端名 ]  + 进程名

常见的选项

  • -U:根据用户所属来中止相应进程
  • -t:根据进程所在的终端终止相应进程

 

标签:选项,百分比,命令,线程,Linux,进程,cpu
From: https://www.cnblogs.com/zhao222/p/16776894.html

相关文章

  • nginx 守护进程
    shell脚本catngx_daemon.sh#!/bin/bashnginxpid=$(ps-Cnginx--no-header|wc-l)if["$nginxpid"="0"];then#启动nginx/ap......
  • 进程和计划任务管理
    1 程序保存在硬盘、光盘等介质中的可执行代码和数据静态保存的代码 2 进程2.1 什么是进程运行中的程序的一个副本,是被载入内存的一个指令集合,是资源分配的单位......
  • 老司机学swoole之基础进阶篇(进程篇)2019年swoole基础进阶之进程篇
    0资料收集视频地址https://www.bilibili.com/video/BV1oJ411U7bc/?vd_source=4a69745b599dffec877b0fcfe130b0921设置自定义进程名称2创建第一个子进程、获取子进程......
  • Linux环境下的块设备驱动原理及编程方法
    1.前提知识一个块驱动提供对块存储设备(比如SD卡、EMMC、NANDFlash、NorFlash、SPIFlash、机械硬盘、固态硬盘等)以固定大小(块的大小由内核决定,常常是4096字节)的块......
  • linux的内核bug引起线程挂起
    linux内核bug,引起mysql主从复制的从服务器始终处于Queueingmastereventtotherelaylog状态,用pstack跟踪mysql进程id后,线程得到释放.同时该bug也会将kafka的线程挂......
  • 【操作系统-进程】PV操作——哲学家问题
    目录哲学家问题万能模板Step1.定义互斥锁Step2.定义资源数Step3.写代码模板另外一种思路题目1:经典版哲学家问题Step1.定义互斥锁Step2.定义资源数Step3.写代......
  • linux 卸载bypy
       背景:需要在linux上面使用bypy,bypy由于只能绑定一个百度网盘,如果linux上面已经安装bypy,绑定了别人的网盘,需要先卸载,再安装绑定自己的百度网盘,(个人觉得应该有对应......
  • Linux Epoll 详解
       Epoll作为Linux系统中的核心武器之一,在高吞吐、高并发的IO系统中经常遇见Epoll的身影,列如Redis、Nginx、Skynet等都使用到了IO多路复用技术。我们可以先创建一个e......
  • 【AI白身境】Linux干活三板斧,shell、vim和git
    【AI白身境】Linux干活三板斧,shell、vim和git今天是专栏《AI白身境》的第二篇,所谓白身,就是什么都不会,还没有进入角色。上一篇给大家介绍了要想真正进入深度学习这个行业,必须......
  • linux系统搭建git
     1,linux与windows下分别安装git服务器与客户端:linux下安装git软件:yuminstall-ygit  安装完成后检查安装版本信息:git--version   windows下载git......