• Linux 下进程相关的常用命令汇总


    引言:在Linux的系统中,进程相关命令是我们掌握 linux 进程必备利器,所以本文就将介绍一些常用的进程相关的命令。

    进程查看命令

    ps 查看命令

    ps 命令可以查看进程的详细状况,常用选项(选项可以不加“-”)如下:

    选项含义
    -a显示终端上的所有进程,包括其他用户的进程
    -u显示进程的详细状态
    -x显示没有控制终端的进程
    -w显示加宽,以便显示更多的信息
    -r只显示正在运行的进程

    ps 常见用法

    • ps aux:显示这个操作系统上所有进程的信息,相当于一个拍照,不能动态显示。

      在这里插入图片描述

    • ps -ef:效果与 ps aux 差不多, ps aux 最初用到 Unix Style 中,而 ps -ef 被用在 System V Style 中,两者输出略有不同。现在的大部分Linux系统都是可以同时使用这两种方式的。

    • ps ajx:以比较完整的格式显示所有的进程,会显示进程的父进程 ID、进程组 ID、会话 ID 等

      在这里插入图片描述

    • ps a:显示当前终端下的所有进程,包括其他用户的进程。

    • 查找某个进程:根据进程的名字或者其他信息,结合 grep 命令找到目标进程。

      在这里插入图片描述

    【补充】如上图所示,STAT 表示进程状态,具体参数意义如下:

    参数含义
    D不可中断 Uninterruptible(usually IO)
    R正在运行,或在队列中的进程
    S(大写)处于休眠状态
    T停止或被追踪
    Z僵尸进程
    W进入内存交换(从内核2.6开始无效)
    X死掉的进程
    <高优先级
    N低优先级
    s包含子进程
    +位于前台的进程组

    top 动态查看命令

    top 命令用来动态显示运行中的进程。top 命令能够在运行后,在指定的时间间隔更新显示信息,可以在使用 top命令时加上 -d 来指定显示信息更新的时间间隔。在top命令执行后,可以按下按键得到对显示的结果进行排序

    按键含义
    M根据内存使用量来排序
    P根据CPU占有率来排序
    T根据进程运行时间的长短来排序
    U可以根据后面输入的用户名来筛选进程
    K可以根据后面输入的PID来杀死进程。
    q退出
    h获得帮助

    在这里插入图片描述

    【备注】top 命令类似于 windows 操作系统上的任务管理器。

    jobs 命令

    jobs 命令用于查看当前终端的所有后台进程。该命令可以显示任务号及其对应的进程号。其中,任务号是以普通用户的角度进行的,而进程号则是从系统管理员的角度来看的。一个任务可以对应于一个或者多个进程号。常用选项如下:

    参数含义
    -l显示进程号
    -p仅任务对应的显示进程号
    -n显示任务状态的变化
    -r仅输出运行状态(running)的任务
    -s仅输出停止状态(stoped)的任务

    在这里插入图片描述

    进程控制命令

    kill 命令

    命令功能: 发送指定的信号到相应进程,常用于用于删除执行中的程序或工作。使用格式:

    kill [-signal] pid

    signal 是信号值,pid为进程号

    示例:kill 9133 中 9133 为应用程序所对应的进程号,没有信号值,默认为 SIGTERM。

    在这里插入图片描述

    kill 常见用法

    • kill -l:查看所有信号的编号[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-198AaMrD-1658281555611)(assets\1527909976012.png)]
    • kill -SIGKILL/(-9) 进程号: 有些进程不能直接杀死(如后台进程),这时候我们需要加一个参数“ -9 ”,“ -9 ” 代表强制结束(9号信号为SIGKILL)。
      在这里插入图片描述

    killall 命令

    Linux 中每个进程号是唯一的,但是可能存在进程名相同的进程,如下所示:

    在这里插入图片描述

    killall 命令可以根据进程名杀死进程,这样可以杀死所有进程名相同的进程。

    在这里插入图片描述

    前后台进程相关控制命令

    Linux下,需要经常使用进程的前后台调度命令,比如一个需要长时间运行的命令,我们就希望把它放入后台,这样就不会阻塞当前的操作;而一些服务型的命令进程我们则希望能把它们长期运行于后台。

    • Ctrl + C 组合键:终止并退出前台命令的执行,回到当前终端;

    • Ctrl + Z 组合键:暂停前台命令的执行,将该进程放入后台,回到当前终端;

    • & 命令:运行命令时,在命令末尾加上 & 可让命令在后台执行。但关闭当前终端导致该后台进程退出;

    • nohup 命令:不挂断地运行命令。用来让进程始终在后台执行,即使关闭当前的终端也一样并输出日志,这点 & 命令做不到;

      【补充】在默认情况下(非重定向时),会输出一个名叫 nohup.out 的文件到当前目录下,如果当前目录的 nohup.out 文件不可写,输出重定向到 $HOME/nohup.out 文件中。

    • fg N:将任务号为 N 的后台进程放到前台执行;

    • bg N:将任务号为 N 的暂停的后台进程,继续执行。

    示例 1:

    yxm@192:~/myshare/NetworkIO/BIO/mul_process_server$ jobs -l  # 列出后台进程,无后台进程
    yxm@192:~/myshare/NetworkIO/BIO/mul_process_server$ ./server # 运行程序
    Accepting connections ...
    ^Z															# 执行 ctrl + z,暂停并转为后台
    [1]+  Stopped                 ./server
    yxm@192:~/myshare/NetworkIO/BIO/mul_process_server$ jobs -l	# 列出后台进程,存在后台进程
    [1]+ 20743 Stopped                 ./server
    yxm@192:~/myshare/NetworkIO/BIO/mul_process_server$ bg 1	# 将暂停的后台进程恢复运行
    [1]+ ./server &
    yxm@192:~/myshare/NetworkIO/BIO/mul_process_server$ fg 1	# 将后台进程转为前台
    ./server
    ^C															# 执行 ctrl + c 结束进程
    yxm@192:~/myshare/NetworkIO/BIO/mul_process_server$ 
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13

    示例 2:

    yxm@192:~/myshare/NetworkIO/BIO/mul_process_server$ jobs -l # 列出后台进程,无后台进程
    yxm@192:~/myshare/NetworkIO/BIO/mul_process_server$ nohup ./server & # 以非挂起的方式运行程序
    [1] 21292
    yxm@192:~/myshare/NetworkIO/BIO/mul_process_server$ nohup: ignoring input and appending output to 'nohup.out'
    
    yxm@192:~/myshare/NetworkIO/BIO/mul_process_server$ jobs -l # 列出后台进程,无后台进程
    [1]+ 21292 Running                 nohup ./server &
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    推荐一个零声学院免费公开课程,个人觉得老师讲得不错,
    分享给大家:[Linux,Nginx,ZeroMQ,MySQL,Redis,
    fastdfs,MongoDB,ZK,流媒体,CDN,P2P,K8S,Docker,
    TCP/IP,协程,DPDK等技术内容,点击立即学习:服务器课程

  • 相关阅读:
    主辅助服务市场出清模型研究【旋转备用】(Matlab代码实现)
    2023考研常识之全国考研初试成绩基本分区要求是如何界定的?
    leetcode:69. x 的平方根
    【数据结构与算法】线性结构和非线性结构
    算法竞赛备赛进阶之背包问题训练
    人工智能机器人专业就业前景怎样
    HTML+CSS+JS大作业:生态环境网站设计——环境保护主题 大学生环保主题网页制
    【电源设计】10功率MOSFET在开关电源中的应用
    洛谷 中位数
    3k+星星的eat_pytorch_in_20_days更新啦
  • 原文地址:https://blog.csdn.net/weixin_45004203/article/details/125885958