小白畅通Linux之旅-----Linux进程管理

news2025/6/1 6:19:45

目录

一、进程查看命令

1、pstree

2、ps

3、pgrep

4、top、htop

二、进程管理命令

1、kill

2、pkill 和 killall

三、进程类型

1、前台进程

2、后台进程


一、进程查看命令

1、pstree

用于查看进程树之间的关系,谁是父进程,谁是子进程,可以清楚的看出来是谁创建了谁

用法:pstree [选项]

-A                  各进程树之间的连接以ASCll码字符来连接

[root@localhost ~]# pstree -A
systemd-+-ModemManager---2*[{ModemManager}]
        |-NetworkManager---2*[{NetworkManager}]
        |-VGAuthService
        |-accounts-daemon---2*[{accounts-daemon}]
        |-alsactl
        |-anacron
        |-at-spi-bus-laun-+-dbus-daemon---{dbus-daemon}
        |                 `-3*[{at-spi-bus-laun}]
        |-at-spi2-registr---2*[{at-spi2-registr}]
        |-atd
        |-auditd-+-sedispatch
        |        `-2*[{auditd}]
        |-avahi-daemon---avahi-daemon
        |-bluetoothd
        |-colord---2*[{colord}]
        |-crond
        |-cupsd
        |-dbus-daemon---{dbus-daemon}
        |-dconf-service---2*[{dcon

-P                  同时列出每个进程的PID

[root@localhost ~]# pstree -p
systemd(1)─┬─ModemManager(1203)─┬─{ModemManager}(1225)
           │                    └─{ModemManager}(1233)
           ├─NetworkManager(1639)─┬─{NetworkManager}(1695)
           │                      └─{NetworkManager}(1714)
           ├─VGAuthService(978)
           ├─accounts-daemon(993)─┬─{accounts-daemon}(1005)
           │                      └─{accounts-daemon}(1025)
           ├─alsactl(973)
           ├─anacron(42843)
           ├─at-spi-bus-laun(4502)─┬─dbus-daemon(4538)───{dbus-daemon}(4551)
           │                       ├─{at-spi-bus-laun}(4522)
           │                       ├─{at-spi-bus-laun}(4533)
           │                       └─{at-spi-bus-laun}(4535)
           ├─at-spi2-registr(4556)─┬─{at-spi2-registr}(4588)
           │                       └─{at-spi2-registr}(4590)

2、ps

显示系统当前进程瞬间运行状态

用法:ps  [选项]

-A                   所有进程均显示出来

[root@localhost ~]# ps -A
    PID TTY          TIME CMD
      1 ?        00:00:03 systemd
      2 ?        00:00:00 kthreadd
      3 ?        00:00:00 rcu_gp
      4 ?        00:00:00 rcu_par_gp
      5 ?        00:00:00 slub_flushwq
      7 ?        00:00:00 kworker/0:0H-events_highpri
     10 ?        00:00:00 mm_percpu_wq
     11 ?        00:00:00 rcu_tasks_rude_
     12 ?        00:00:00 rcu_tasks_trace
     13 ?        00:00:00 ksoftirqd/0
     14 ?        00:00:00 rcu_sched
     15 ?        00:00:00 migration/0
     16 ?        00:00:00 watchdog/0
     17 ?        00:00:00 cpuhp/0

-a                显示现行终端机下的所有进程,包括其他用户的进程

-u                以用户为主的进程状态

-x                通常与 a 这个参数一起使用,可列出较完整信息

ps -aux

#进程的所有者#进程id#进程占用的cpu百分比#进程占用的内存百分比#进程使用的虚拟内存大小#进程使用的物理内存大小#进程所在终端#进程状态#启动时间#运行时间#启动进程的命令

[root@localhost ~]# ps aux
USER         PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root           1  0.1  0.8 176204 14400 ?        Ss   17:26   0:03 /usr/lib/systemd/systemd --switched-roo
root           2  0.0  0.0      0     0 ?        S    17:26   0:00 [kthreadd]
root           3  0.0  0.0      0     0 ?        I<   17:26   0:00 [rcu_gp]
root           4  0.0  0.0      0     0 ?        I<   17:26   0:00 [rcu_par_gp]
root           5  0.0  0.0      0     0 ?        I<   17:26   0:00 [slub_flushwq]
root           7  0.0  0.0      0     0 ?        I<   17:26   0:00 [kworker/0:0H-events_highpri]
root          10  0.0  0.0      0     0 ?        I<   17:26   0:00 [mm_percpu_wq]
root          11  0.0  0.0      0     0 ?        S    17:26   0:00 [rcu_tasks_rude_]
root          12  0.0  0.0      0     0 ?        S    17:26   0:00 [rcu_tasks_trace]
root          13  0.0  0.0      0     0 ?        S    17:26   0:00 [ksoftirqd/0]
root          14  0.0  0.0      0     0 ?        I    17:26   0:00 [rcu_sched]
root          15  0.0  0.0      0     0 ?        S    17:26   0:00 [migration/0]
root          16  0.0  0.0      0     0 ?        S    17:26   0:00 [watchdog/0]
root          17  0.0  0.0      0     0 ?        S    17:26   0:00 [cpuhp/0]
root          18  0.0  0.0      0     0 ?        S    17:26   0:00 [cpuhp/1]
root          19  0.0  0.0      0     0 ?        S    17:26   0:00 [watchdog/1]

进程状态:

S:休眠

s:父进程

R:运行

Z:僵尸进程(前台程序已死,但后台驻留进程没有正常退出;后果就是占用资源不干活。)

3、pgrep

查看进程的信息,包括进程是否已经消亡,通过pgrep来获得正在被调度的进程的相关信息。 pgrep通过匹配其程序名,找到匹配的进程

[root@localhost ~]# pgrep nginx
42670
42671
42672
42673
42674

-l              同时显示进程名和PID

[root@localhost ~]# pgrep -l nginx
42670 nginx
42671 nginx
42672 nginx
42673 nginx
42674 nginx

-o             当匹配多个进程时,显示进程号最小的那个

[root@localhost ~]# pgrep -o nginx
42670

-n             当匹配多个进程时,显示进程号最大的那个

[root@localhost ~]# pgrep -n nginx
42674

注意:#pgrep命令用来查找进程的信息,通常会和kill命令来连用,在指定条件下kill问题进程

[root@localhost ~]# kill -9 `pgrep nginx`

4、top、htop

top:动态监控系统处理器状态,htop姑且称之为top的增强版

yum install epel-release -y    #安装epel源     
yum install htop -y     #安装htop

常用选项

-d              指定更新的时间间隔

-n              指定更新的次数

-u              监控指定用户的进程

-p              监控指定进程的PID

常用按键

空格键            立即刷新显示

M                    以内存占用百分比对进程进行排序

P                     以cpu占用百分比对进程进行排序

T                     按照进程运行时间对进程进行排序

q                     退出top命令

h                     显示帮助信息

`top -d 5`:每隔 5 秒更新一次进程信息。

`top -n 2`:更新两次进程信息后退出。

`top -p 1234`:监控进程 ID 为 1234 的进程。

`top -u root`:监控 root 用户的进程。

二、进程管理命令

1、kill

语法:kill   [选项]    pid

-l             列出所有信号参数

[root@localhost ~]# kill -l
 1) SIGHUP       2) SIGINT       3) SIGQUIT      4) SIGILL       5) SIGTRAP
 6) SIGABRT      7) SIGBUS       8) SIGFPE       9) SIGKILL     10) SIGUSR1
11) SIGSEGV     12) SIGUSR2     13) SIGPIPE     14) SIGALRM     15) SIGTERM
16) SIGSTKFLT   17) SIGCHLD     18) SIGCONT     19) SIGSTOP     20) SIGTSTP
21) SIGTTIN     22) SIGTTOU     23) SIGURG      24) SIGXCPU     25) SIGXFSZ
26) SIGVTALRM   27) SIGPROF     28) SIGWINCH    29) SIGIO       30) SIGPWR
31) SIGSYS      34) SIGRTMIN    35) SIGRTMIN+1  36) SIGRTMIN+2  37) SIGRTMIN+3
38) SIGRTMIN+4  39) SIGRTMIN+5  40) SIGRTMIN+6  41) SIGRTMIN+7  42) SIGRTMIN+8
43) SIGRTMIN+9  44) SIGRTMIN+10 45) SIGRTMIN+11 46) SIGRTMIN+12 47) SIGRTMIN+13
48) SIGRTMIN+14 49) SIGRTMIN+15 50) SIGRTMAX-14 51) SIGRTMAX-13 52) SIGRTMAX-12
53) SIGRTMAX-11 54) SIGRTMAX-10 55) SIGRTMAX-9  56) SIGRTMAX-8  57) SIGRTMAX-7
58) SIGRTMAX-6  59) SIGRTMAX-5  60) SIGRTMAX-4  61) SIGRTMAX-3  62) SIGRTMAX-2
63) SIGRTMAX-1  64) SIGRTMAX

-s          发送指定的信号

-9          强制杀死

-0          用来检测一个进程是否存在

[root@localhost ~]# ps -aux | grep nginx
root       45601  0.0  0.1 103476  2172 ?        Ss   14:10   0:00 nginx: master process /usr/sbin/nginx
nginx      45602  0.0  0.4 124876  7836 ?        S    14:10   0:00 nginx: worker process
nginx      45603  0.0  0.4 124876  7812 ?        S    14:10   0:00 nginx: worker process
nginx      45604  0.0  0.4 124876  7808 ?        S    14:10   0:00 nginx: worker process
nginx      45605  0.0  0.4 124876  7836 ?        S    14:10   0:00 nginx: worker process
root       45633  0.0  0.0 222016  1108 pts/1    S+   14:10   0:00 grep --color=auto nginx
[root@localhost ~]# kill -9 45601
[root@localhost ~]# ps -aux | grep nginx
root       45691  0.0  0.0 222016  1128 pts/1    S+   14:11   0:00 grep --color=auto nginx

2、pkill 和 killall

pkill是ps命令和kill命令的结合,按照进程名来杀死指定进程,pkill和killall应用方法差不多,也是直接杀死运行中的程序,如果想杀掉单个进程,请用kill来杀掉。

语法:pkill/killall [选项] 进程名
[root@localhost ~]# ps -aux | grep nginx
root       45750  0.0  0.1 103476  2176 ?        Ss   14:14   0:00 nginx: master process /usr/sbin/nginx
nginx      45751  0.0  0.4 124876  7996 ?        S    14:14   0:00 nginx: worker process
nginx      45752  0.0  0.4 124876  7996 ?        S    14:14   0:00 nginx: worker process
nginx      45753  0.0  0.4 124876  7996 ?        S    14:14   0:00 nginx: worker process
nginx      45754  0.0  0.4 124876  7996 ?        S    14:14   0:00 nginx: worker process
root       45817  0.0  0.0 222016  1100 pts/1    S+   14:14   0:00 grep --color=auto nginx
[root@localhost ~]# pkill nginx
[root@localhost ~]# ps -aux | grep nginx
root       45875  0.0  0.0 222016  1208 pts/1    S+   14:15   0:00 grep --color=auto nginx

三、进程类型

1、前台进程

在终端界面运行的进程,运行前台进程后,终端无法操作

(1)查看

(2)创建前台进程   nginx  -g   "daemon  off;"

[root@localhost ~]# systemctl stop nginx
[root@localhost ~]# nginx -g "daemon off;"


[root@localhost ~]# ps -aux | grep nginx
root       46469  0.0  0.6 103480 12484 pts/1    S+   14:30   0:00 nginx: master process nginx -g daemon off;
nginx      46470  0.0  0.4 124876  7916 pts/1    S+   14:30   0:00 nginx: worker process
nginx      46471  0.0  0.4 124876  7896 pts/1    S+   14:30   0:00 nginx: worker process
nginx      46472  0.0  0.4 124876  7876 pts/1    S+   14:30   0:00 nginx: worker process
nginx      46473  0.0  0.4 124876  7884 pts/1    S+   14:30   0:00 nginx: worker process
root       46727  0.0  0.0 222016  1132 pts/2    S+   14:31   0:00 grep --color=auto nginx

(3)#将前台进程放到后台运行
           firefox & 
           #注意:该运行前台进程的方式,当终端关闭时,进程也会随着关闭
           nohup firefox & #关闭终端,进程不掉
           #将进程调到前台运行
           fg 1                ctrl + z 停止
           #将正在运行的前台进程放到后台运行
            bg 1

[root@localhost ~]# sleep 100 &
[1] 48585
[root@localhost ~]# ps -aux | grep sleep
root       48534  0.0  0.0 217160   848 ?        S    14:58   0:00 sleep 60
root       48585  0.0  0.0 217160   948 pts/1    S    14:59   0:00 sleep 100
root       48636  0.0  0.0 222016  1212 pts/1    S+   14:59   0:00 grep --color=auto sleep
[root@localhost ~]# fg 1
sleep 100

^Z
[1]+  已停止               sleep 100
[root@localhost ~]# ps -aux | grep sleep
root       48534  0.0  0.0 217160   848 ?        S    14:58   0:00 sleep 60
root       48585  0.0  0.0 217160   948 pts/1    T    14:59   0:00 sleep 100
root       48793  0.0  0.0 222016  1116 pts/1    S+   14:59   0:00 grep --color=auto sleep
[root@localhost ~]# bg 1
[1]+ sleep 100 &
[root@localhost ~]# ps -aux | grep sleep
root       48585  0.0  0.0 217160   948 pts/1    S    14:59   0:00 sleep 100
root       48876  0.0  0.0 217160   928 ?        S    14:59   0:00 sleep 60
root       48924  0.0  0.0 222016  1128 pts/1    S+   15:00   0:00 grep --color=auto sleep

2、后台进程

驻留在后端运行的进程

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2392227.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【芯片设计中的跨时钟域信号处理:攻克亚稳态的终极指南】

在当今芯片设计中&#xff0c;多时钟域已成为常态。从手机SoC到航天级FPGA&#xff0c;不同功能模块运行在各自的时钟频率下&#xff0c;时钟域间的信号交互如同“语言不通”的对话&#xff0c;稍有不慎就会引发亚稳态、数据丢失等问题。这些隐患轻则导致功能异常&#xff0c;重…

接地气的方式认识JVM(一)

最近在学jvm&#xff0c;浮于表面的学了之后&#xff0c;发现jvm并没有我想象中的那么神秘&#xff0c;这篇文章将会用接地气的方式来说一说这些jvm的相关概念以及名词解释。 带着下面两个问题来阅读 认识了解JVM大致有什么在代码运行时的都在背后做了什么 JVM是个啥&#xf…

JAVA:Kafka 消息可靠性详解与实践样例

🧱 1、简述 Apache Kafka 是高吞吐、可扩展的流处理平台,在分布式架构中广泛应用于日志采集、事件驱动和微服务解耦场景。但在使用过程中,消息是否会丢?何时丢?如何防止丢? 是很多开发者关心的问题。 Kafka 提供了一套完整的机制来保障消息从生产者 ➜ Broker ➜ 消费…

Electron 桌面程序读取dll动态库

序幕&#xff1a;被GFW狙击的第一次构建 当我在工位上输入npm install electron时&#xff0c;控制台跳出的红色警报如同数字柏林墙上的一道弹痕&#xff1a; Error: connect ETIMEDOUT 104.20.22.46:443 网络问题不用愁&#xff0c;请移步我的另外文章进行配置&#xff1a;…

HTTP 与 HTTPS 深度解析:原理、实践与大型项目应用

1. HTTP 与 HTTPS 基础概念 1.1 HTTP&#xff08;超文本传输协议&#xff09; 定义&#xff1a;应用层协议&#xff0c;基于 TCP/IP 通信&#xff0c;默认端口 80 特点&#xff1a; 无状态协议&#xff08;需 Cookie/Session 维护状态&#xff09; 明文传输&#xff08;易被…

API Gateway CLI 实操入门笔记(基于 LocalStack)

API Gateway CLI 实操入门笔记&#xff08;基于 LocalStack&#xff09; Categories: Cloud Google Rank Proof: No Last edited time: May 26, 2025 4:18 AM Status: Early draft Tags: aws 主要先简单的走一下流程&#xff0c;熟悉一下在 terminal 操作 API Gateway local…

数据分析案例-基于红米和华为手机的用户评论分析

&#x1f935;‍♂️ 个人主页&#xff1a;艾派森的个人主页 ✍&#x1f3fb;作者简介&#xff1a;Python学习者 &#x1f40b; 希望大家多多支持&#xff0c;我们一起进步&#xff01;&#x1f604; 如果文章对你有帮助的话&#xff0c; 欢迎评论 &#x1f4ac;点赞&#x1f4…

深度学习入门:从零搭建你的第一个神经网络

深度学习入门&#xff1a;从零搭建你的第一个神经网络 系统化学习人工智能网站&#xff08;收藏&#xff09;&#xff1a;https://www.captainbed.cn/flu 文章目录 深度学习入门&#xff1a;从零搭建你的第一个神经网络摘要引言第一章&#xff1a;神经网络基础原理1.1 神经元…

【Python办公】Excel简易透视办公小工具

目录 专栏导读1. 背景介绍2. 功能介绍3. 库的安装4. 界面展示5. 使用方法6. 实际应用场景7. 优化方向完整代码总结专栏导读 🌸 欢迎来到Python办公自动化专栏—Python处理办公问题,解放您的双手 🏳️‍🌈 博客主页:请点击——> 一晌小贪欢的博客主页求关注 👍 该系…

Linux系列-2 Shell常用命令收集

背景 本文用于收集Linux常用命令(基于Centos7)&#xff0c;是一个持续更新的博客&#xff0c;建议收藏&#xff0c;编写shell时遇到问题可以随时查阅。 1.Shell类型 shell是用C语言编写的程序&#xff0c;作为命令解释器连接着用户和操作系统内核。常见的shell有sh(Bourne She…

MATLAB使用多个扇形颜色变化表示空间一个点的多种数值

MATLAB使用多个扇形颜色变化表示空间一个点的多种数值 excel中表格中数据格式&#xff0c;多行 lonlatdata1data2data3117380.11100 clear;close all; figure(Position,[100 100 800 800]);num_points 14; [num,txt,raw] xlsread(test.xlsx); x num(:,1); y num(:,2);d…

CAD精简多段线顶点、优化、删除多余、重复顶点——CAD c#二次开发

附部分代码如下: public static void Pl精简(){Document doc Autodesk.AutoCAD.ApplicationServices.Application.DocumentManager.MdiActiveDocument;Database db doc.Database;Editor ed doc.Editor;var plOrigon db.SelectCurve("\n选择多段线&#xff1a;");…

输电线路的“智慧之眼”:全天候可视化监测如何赋能电网安全运维

在电力需求持续攀升、电网规模日益庞大的今天&#xff0c;输电线路的安全稳定运行面临着前所未有的挑战。线路跨越地形复杂多变&#xff0c;尤其是在偏远山区、铁路沿线及恶劣天气条件下&#xff0c;传统的人工巡检方式显得力不从心——效率低、风险高、覆盖有限。如何实现更智…

两阶段法目标检测发展脉络

模式识别期末展示大作业&#xff0c;做个记录&#xff0c;希望大家喜欢。 R-CNN Fast R-CNN R-FCN 整个过程可以分解为以下几个步骤&#xff1a; 输入图像 (image) 和初步特征提取 (conv, feature maps)&#xff1a; 首先&#xff0c;输入一张原始图像&#xff0c;经过一系列…

小白的进阶之路系列之六----人工智能从初步到精通pytorch数据集与数据加载器

本文将介绍以下内容: 数据集与数据加载器 数据迁移 如何建立神经网络 数据集与数据加载器 处理数据样本的代码可能会变得混乱且难以维护;理想情况下,我们希望我们的数据集代码与模型训练代码解耦,以获得更好的可读性和模块化。PyTorch提供了两个数据原语:torch.utils…

NestJS——重构日志、数据库、配置

个人简介 &#x1f440;个人主页&#xff1a; 前端杂货铺 &#x1f64b;‍♂️学习方向&#xff1a; 主攻前端方向&#xff0c;正逐渐往全干发展 &#x1f4c3;个人状态&#xff1a; 研发工程师&#xff0c;现效力于中国工业软件事业 &#x1f680;人生格言&#xff1a; 积跬步…

c++数据结构8——二叉树的性质

一、二叉树的基本性质 示图1&#xff1a; 性质1&#xff1a;层节点数上限 在一棵二叉树中&#xff0c;第i层至多有2^{i-1}个节点&#xff08;首层是第1层&#xff09; 这个性质可以通过数学归纳法证明&#xff1a; 第1层&#xff1a;2^{1-1}2^01个节点&#xff08;根节点&am…

Window Server 2019--08 网络负载均衡与Web Farm

本章要点 1、了解网络负载均衡技术 2、掌握Web Farm核心原理 3、掌握如何使用Windows NLB搭建Web Farm环境 网络负载均衡技术将外部计算机发送的连接请求均匀的分配到服务器集群中的每台服务器上&#xff0c;接受到请求的服务器独立地响应客户的请求。 网络负载均衡技术还…

SpringBoot:统一功能处理、拦截器、适配器模式

文章目录 拦截器什么是拦截器&#xff1f;为什么要使用拦截器&#xff1f;拦截器的使用拦截路径执行流程典型应用场景DispatcherServlet源码分析 适配器模式适配器模式定义适配器模式角色适配器模式的实现适配器模式应用场景 统⼀数据返回格式优点 统一处理异常总结 拦截器 什…

AI Agent工具全景解析:从Coze到RAGflow,探索智能体自动化未来!

在人工智能技术持续深入行业应用的背景下&#xff0c;越来越多的企业和个人寻求通过自动化技术来提高效率和减少重复性劳动&#xff0c;AI Agent的崛起已经成为了不可忽视的趋势。AI Agent&#xff0c;即人工智能代理&#xff0c;是一种基于先进的人工智能技术&#xff0c;特别…