Linux进程管理实战指南:实用工具命令详解

208 篇文章 2 订阅
208 篇文章 0 订阅

前言

这是一篇深度剖析Linux系统进程管理的技术文章,详细介绍了各种进程管理相关命令的用法和示例。通过本文,你将掌握从基础到高级的进程管理技巧,了解如何利用命令行工具高效处理进程、提升系统性能。无论你是初学者还是经验丰富的管理员,本文都将为你带来实用而宝贵的知识,助力你在Linux系统中轻松应对各类进程管理挑战。立即阅读,发现Linux进程管理的奥秘!

进程管理命令

ps

ps是一个常用的Linux命令,用于查看当前系统中正在运行的进程信息。



`ps [options]`



常用的ps命令选项包括:

  • -a:显示所有用户的所有进程,包括其他用户的进程。

  • -u:以用户为基础显示进程信息,包括进程的用户名、进程ID(PID)、CPU使用率、内存使用率等。

  • -x:显示没有控制终端的进程。

  • -e:显示所有正在运行的进程。

  • -f:以全格式显示进程信息,包括进程ID(PID)、父进程ID(PPID)、进程状态等。

  • -l:以长格式显示进程信息,包括进程ID(PID)、进程所属用户、CPU使用率等。

ps指令可以搭配不同的选项来获取不同的进程信息。下面是一些常用的选项:

显示所有用户的所有进程信息,包括进程ID(PID)、CPU使用率、内存使用率等



`ps -aux`



显示所有进程的详细信息,包括进程ID(PID)、父进程ID(PPID)、进程状态等。



`ps -ef`



显示所有正在运行的进程。



`ps -e`



查询redis的进程信息,包括进程ID(PID)、CPU使用率、内存使用率等



`ps -aux | grep redis`



输出了两行信息,这两行信息分别是什么意思呢?

  • 第一行:进程名称:redis;进程ID:1054;CPU使用率:0.9;内存使用率:0.3;内存占用量:143056 KB;虚拟内存占用量:5812 KB;进程状态:?;运行优先级和调度策略:Ssl;启动时间:15:45;运行时间:1小时6分钟;可执行文件路径和参数:/usr/bin/redis-server 0.0.0.0:6379;

  • 第二行:进程所有者:root;进程ID:1939;CPU使用率:0.0;内存使用率:0.0;内存占用量:112824 KB;虚拟内存占用量:988 KB;终端:pts/0;进程状态:S+;启动时间:17:44;运行时间:0小时0分钟;可执行文件路径和参数:grep --color=auto redis;

以长格式显示进程信息,包括进程ID(PID)、进程所属用户、CPU使用率等。



`ps -l`



这里需要注意的是ps -l 并不显示所有进程,而是显示与当前终端(TTY)相关的进程。如果你希望看到所有进程,可以使用 ps aux 或 ps -le

top

top命令是Linux中常用的性能监控工具,它可以实时显示系统中各个进程的资源占用状况,包括CPU、内存等。top命令提供了一个实时的视图,显示系统当前的活跃进程,并允许用户进行交互,对进程执行各种操作。

基本语法:



`top [options]`



常用可选参数:

  • -d:指定刷新间隔,单位为秒。

  • -p:监控特定的PID。

  • -n:运行top命令时显示几次更新后退出。

  • -u:仅显示特定用户的进程。

  • -h:显示帮助信息。

  • -o:按某一字段排序,例如-o %MEM按内存使用率排序。

执行top命令后,实际上也可以执行一些交互命令:

  • Shift + P:按CPU使用率排序。

  • Shift + M:按内存使用率排序。

  • k:终止一个进程。

  • f:添加或删除显示的列。

  • t:打开或关闭显示图形。

  • 1:显示所有CPU的状况,而不是总体平均值。

比如:我要杀死进程ip是10789的vsftpd服务进程,可以直接输入k,会进入下面的交互界面,再输入vsftpd进程的进程id10789,按enter键,即可杀死vsftpd服务进程;

在这里插入图片描述

下面是其他的一些简单使用示例:

简单启动:直接在终端中输入 top,就可以显示当前系统的动态进程以及资源使用情况。



`top`



改变更新速率:使用 top -d 5 来设定每5秒刷新一次。



`top -d 5`



监控特定进程:假设要监控PID为10789的进程,可以使用 top -p 10789。



`top -p 10789`



查看特定用户的进程:如果需要查看用户root的进程,可以使用 top -u root。



`top -u root`



htop

htop 是一个类似于 Linux 系统中的 top 命令的工具,用于显示系统中运行的进程的实时信息。与 top 不同的是,htop 提供了更加直观和友好的界面,可以通过鼠标或键盘快捷键进行交互操作,显示的信息也更加详细和易读。htop 可以显示 CPU、内存、swap 等资源的使用情况,同时还可以方便地对进程进行排序、搜索和管理。

htop 并不是所有 Linux 发行版的默认安装包,因此可能需要单独安装它。可以按照以下步骤在常见的 Linux 发行版上安装 htop:

对于 Ubuntu 或 Debian 等基于 apt 的系统:

sudo apt update sudo apt install htop

对于 CentOS 或 RHEL 等基于 yum 的系统:

sudo yum install htop

一旦安装完成,就可以直接使用了。

使用 htop的方法很简单:

打开终端窗口输入 htop 命令,并按下 Enter 键



`htop`



然后就可以看到如上图的输出内容:实时进程信息,包括 CPU 和内存的占用情况等。

还可以使用键盘快捷键进行操作:你可以使用键盘上的不同按键来进行排序、筛选和管理进程。例如:

  • 使用 ↑ 和 ↓ 键来上下移动光标选择进程。

  • 使用 F6 键可以根据不同的标准对进程进行排序。

  • 使用 F9 键可以选择发送信号给选定的进程。

  • 使用 Space 键可以选中或取消选中进程。

  • 使用 q 键可以退出 htop。

pgrep

pgrep 命令用于根据进程的名称或其他属性查找正在运行的进程,并返回与之匹配的进程ID(PID)。

pgrep 的基本语法如下:



`pgrep [options] <pattern>`



其中,是用于匹配进程的模式。可以是进程名称、进程命令行参数或其他进程属性。

以下是一些常用的选项:

  • -u

    :指定进程所属的用户名。

  • -x:精确匹配整个进程命令行。

  • -d

    :使用自定义分隔符来分隔多个 PID。

  • -n:仅显示最新创建的进程。

  • -o:指定输出格式。常见的格式包括进程ID(%p)、父进程ID(%P)、进程名称(%n)等。

例如,要查找所有以 “nginx” 开头的进程,可以使用以下命令:



`pgrep nginx`



如果要限制搜索特定用户的进程,可以使用 -u 选项:



`pgrep -u username nginx`



pgrep 命令非常有用,可以快速查找和操作正在运行的进程。它通常与其他命令(如 kill)结合使用,以对匹配的进程进行进一步操作。

kill

kill 命令用于终止正在运行的进程。

kill 命令的基本语法如下:



`kill [options] <PID>`



其中,是要终止的进程的进程ID。

最常用的用法是:例如,要终止进程ID为 12345 的进程,可以使用以下命令:



`kill 12345`



pkill

pkill 命令用于根据进程的名称或其他属性发送信号给进程,从而终止或操作匹配的进程。

pkill 的基本语法如下:



`pkill [options] <pattern>`



其中,是用于匹配进程的模式。可以是进程名称、进程命令行参数或其他进程属性。

以下是一些常用的选项:

  • -u

    :指定要匹配的进程所属的用户名。

  • -x:精确匹配整个进程命令行。

  • -n:仅发送信号给最新创建的进程。

  • -signal

    :指定要发送的信号,默认为 SIGTERM。

  • -l:显示可用的信号列表。

例如,要终止所有名为 “nginx” 的进程,可以使用以下命令:



`pkill nginx`



如果要限制操作特定用户的进程,可以使用 -u 选项:



`pkill -u username nginx`



pkill 命令与 pgrep 命令结合使用,可以方便地查找并终止匹配的进程。不过个人感觉,还是根据进程id,使用kill命令杀死指定进程,会更稳妥一点。

systemctl

systemctl 命令是一个在大多数现代 Linux 发行版中用于管理系统服务的工具。它可以启动、停止、重启、启用或禁用系统服务,还可以显示服务的状态和控制服务的启动顺序等。

以下是一些常用的 systemctl 命令以及其作用:

启动一个系统服务



`systemctl start <service-name>`



停止一个系统服务



`systemctl stop <service-name>`



重启一个系统服务。



`systemctl restart <service-name>`



显示一个系统服务的状态信息。



`systemctl status <service-name>`



设置一个系统服务在系统启动时自动启用。



`systemctl enable <service-name>:`



设置一个系统服务在系统启动时不自动启用。



`systemctl disable <service-name>`



列出当前正在运行的所有系统服务



`systemctl list-units --type=service`



重新加载 systemd 管理的服务单元配置。



`systemctl daemon-reload`



这些命令使得对系统服务进行管理变得非常方便。通过 systemctl,你可以轻松地管理系统中的各种服务,确保它们按照你的期望进行启动、停止和管理。

通常情况下,通过标准的软件包管理工具(例如 apt、yum、dnf 等)安装的软件,都会在系统中注册为服务,并且可以通过 systemctl 来进行管理。这些软件通常会在安装时创建相应的服务单元文件,以便 systemd(系统初始化系统和服务管理器)能够管理它们。

然而,某些情况下可能存在无法通过 systemctl 管理的软件,例如:

  • 手动安装的软件:如果你手动编译并安装了某个软件,但没有为其创建 systemd 服务单元文件,那么这个软件就不会被 systemd 所管理,因此无法使用 systemctl 来对其进行管理。

  • 自定义安装路径:有些软件可能会被安装到非标准的路径,或者安装路径不在 systemd 默认的服务搜索路径中,这样 systemd 就无法正确识别这些软件并管理其服务。

在这些情况下,你可能需要手动创建一个 systemd 服务单元文件,以便让 systemd 能够管理这些软件。创建systemd服务单元的方法只需要简单的三步:

1、编写服务单元文件:使用文本编辑器(如vim或nano)创建一个新的服务单元文件,通常存储在/etc/systemd/system/目录下,以.service为后缀名。

2、编辑服务单元文件,定义服务的名称、描述、执行路径等信息。例如:



`[Unit]``Description=My Custom Service``After=network.target``[Service]``Type=simple``ExecStart=/path/to/your/executable``[Install]``WantedBy=multi-user.target`



3、重新加载systemd管理器配置:

使用以下命令重新加载systemd管理器的配置,以使新的服务单元生效:



`sudo systemctl daemon-reload`



写在最后

这篇技术文章详细介绍了各种进程管理相关命令的精髓,让你轻松掌握高效处理进程的技巧和窍门。无论你是想加深对系统运维的理解,还是希望优化系统性能,本文都将为你提供最实用的指南和实例。点赞收藏,随时翻阅,让你的Linux之旅更上一层楼!立即阅读,开启进程管理新篇章!

题外话

黑客&网络安全如何学习

今天只要你给我的文章点赞,我私藏的网安学习资料一样免费共享给你们,来看看有哪些东西。

1.学习路线图

在这里插入图片描述

攻击和防守要学的东西也不少,具体要学的东西我都写在了上面的路线图,如果你能学完它们,你去就业和接私活完全没有问题。

2.视频教程
网上虽然也有很多的学习资源,但基本上都残缺不全的,这是我自己录的网安视频教程,上面路线图的每一个知识点,我都有配套的视频讲解。

内容涵盖了网络安全法学习、网络安全运营等保测评、渗透测试基础、漏洞详解、计算机基础知识等,都是网络安全入门必知必会的学习内容。

在这里插入图片描述

(都打包成一块的了,不能一一展开,总共300多集)

因篇幅有限,仅展示部分资料,需要点击下方链接即可前往获取

🐵这些东西我都可以免费分享给大家,需要的可以点这里自取👉:网安入门到进阶资源

3.技术文档和电子书
技术文档也是我自己整理的,包括我参加大型网安行动、CTF和挖SRC漏洞的经验和技术要点,电子书也有200多本,由于内容的敏感性,我就不一一展示了。

在这里插入图片描述

因篇幅有限,仅展示部分资料,需要点击下方链接即可前往获取

🐵这些东西我都可以免费分享给大家,需要的可以点这里自取👉:网安入门到进阶资源

4.工具包、面试题和源码
“工欲善其事必先利其器”我为大家总结出了最受欢迎的几十款款黑客工具。涉及范围主要集中在 信息收集、Android黑客工具、自动化工具、网络钓鱼等,感兴趣的同学不容错过。

还有我视频里讲的案例源码和对应的工具包,需要的话也可以拿走。

🐵这些东西我都可以免费分享给大家,需要的可以点这里自取👉:网安入门到进阶资源

最后就是我这几年整理的网安方面的面试题,如果你是要找网安方面的工作,它们绝对能帮你大忙。

这些题目都是大家在面试深信服、奇安信、腾讯或者其它大厂面试时经常遇到的,如果大家有好的题目或者好的见解欢迎分享。

参考解析:深信服官网、奇安信官网、Freebuf、csdn等

内容特点:条理清晰,含图像化表示更加易懂。

内容概要:包括 内网、操作系统、协议、渗透测试、安服、漏洞、注入、XSS、CSRF、SSRF、文件上传、文件下载、文件包含、XXE、逻辑漏洞、工具、SQLmap、NMAP、BP、MSF…

在这里插入图片描述

因篇幅有限,仅展示部分资料,需要点击下方链接即可前往获取

🐵这些东西我都可以免费分享给大家,需要的可以点这里自取👉:网安入门到进阶资源
————————————————

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

  • 16
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值