Linux进程查看与控制:掌握ps、top、kill等关键命令

简介: 在Linux系统中,进程是程序执行的实例,系统中的所有任务都以进程形式运行。了解如何查看和控制进程对于系统管理和故障排除至关重要。本文将介绍Linux下常用的进程查看与控制命令,包括ps、top、kill等,帮助读者熟练使用这些命令来监视和管理系统中的进程。

1. ps命令

ps命令用于查看当前系统中的进程信息。默认情况下,ps命令显示当前用户的所有进程。常用选项有:

  • ps aux:显示所有进程的详细信息,包括CPU、内存占用等。
  • ps -ef:显示所有进程的信息,包括进程之间的父子关系。
  • ps -e --forest:以树状结构显示进程之间的父子关系。
  • ps -e | grep XX:显示所有进程名字中带XX的进程详细信息。
    ps aux
    

2. top命令

top命令可以动态显示系统中进程的资源占用情况。它提供实时的CPU、内存和进程信息,是监视系统性能的有力工具。在top界面中,可以通过按键来进行不同的排序和过滤。

top

常用按键:

  • q:退出top。
  • r:修改进程的nice值(优先级)。
  • k:向进程发送信号,用于终止进程。
  • P:按CPU使用率排序进程。
  • M:按内存使用率排序进程。

3. kill命令

kill命令用于终止进程。每个进程都有一个唯一的进程ID(PID),kill命令根据PID来终止进程。默认情况下,kill命令发送SIGTERM信号给目标进程,要求它正常退出。如果需要强制终止进程,可以使用SIGKILL信号。

# 终止进程(PID为1234)
kill 1234

# 强制终止进程
kill -9 1234

4. pkill命令

pkill命令与kill命令类似,但它允许根据进程名终止进程。pkill命令会根据进程名搜索所有匹配的进程并终止它们。

# 终止名为"target_process"的进程
pkill target_process

# 强制终止名为"target_process"的进程
pkill -9 target_process

5. pstree命令

pstree命令以树状结构显示进程之间的父子关系。

pstree

6. nice和renice命令

nice命令用于启动新进程时设置进程的优先级。renice命令用于修改正在运行的进程的优先级。

# 启动新进程并设置优先级为10
nice -n 10 command

# 修改正在运行的进程的优先级为10(PID为1234)
renice 10 -p 1234

7. 结论

Linux系统提供了丰富的进程查看与控制命令,包括ps、top、kill、pkill、pstree、nice和renice等。这些命令能够帮助用户了解系统中运行的进程,监视系统性能,以及管理和控制进程的运行。通过熟练掌握这些命令,系统管理员和开发人员可以更好地管理系统,及时排查故障,并保持系统的稳定性和高效性。

相关实践学习
CentOS 7迁移Anolis OS 7
龙蜥操作系统Anolis OS的体验。Anolis OS 7生态上和依赖管理上保持跟CentOS 7.x兼容,一键式迁移脚本centos2anolis.py。本文为您介绍如何通过AOMS迁移工具实现CentOS 7.x到Anolis OS 7的迁移。
目录
相关文章
|
19天前
|
缓存 运维 监控
【运维必备知识】Linux系统平均负载与top、uptime命令详解
系统平均负载是衡量Linux服务器性能的关键指标之一。通过使用 `top`和 `uptime`命令,可以实时监控系统的负载情况,帮助运维人员及时发现并解决潜在问题。理解这些工具的输出和意义是确保系统稳定运行的基础。希望本文对Linux系统平均负载及相关命令的详细解析能帮助您更好地进行系统运维和性能优化。
43 3
|
2月前
|
运维 监控 Java
使用jps命令查看Java进程
`jps`是Java开发者和系统管理员的得力助手,它简化了Java进程监控的过程,使得快速检查应用运行状态变得轻而易举。通过合理利用其提供的参数,可以高效地进行故障排查、性能监控及日常管理任务,确保Java应用稳定运行。
72 2
|
3月前
|
调度
crash命令 —— ps
crash命令 —— ps
|
4月前
|
网络协议
Mac根据端口查询进程id的命令
这篇文章介绍了在Mac操作系统上如何使用两种命令来查询监听特定端口的进程ID。第一种方法是使用`netstat -anp tcp -v | grep 端口号`,例如`netstat -anp tcp -v | grep 80`,这将列出所有使用端口80的TCP连接及其相关信息。第二种方法是使用`lsof -P -n -i:端口号`,例如`lsof -P -n -i:8080`,这将显示使用指定端口的进程列表,包括进程ID、用户、文件描述符等信息。文章通过示例展示了如何使用这些命令,并提供了输出结果的截图。
331 2
|
4月前
|
监控 Linux
性能分析之 Linux 系统中 ps&top 中 CPU 百分比不一致?
【8月更文挑战第18天】性能分析之 Linux 系统中 ps&top 中 CPU 百分比不一致?
184 4
|
4月前
|
Java Windows
【Azure Developer】Windows中通过pslist命令查看到Java进程和线程信息,但为什么和代码中打印出来的进程号不一致呢?
【Azure Developer】Windows中通过pslist命令查看到Java进程和线程信息,但为什么和代码中打印出来的进程号不一致呢?
|
4月前
|
存储 Docker 容器
在Docker中,容器退出后,通过docker ps命令查看不到,数据会丢失么?
在Docker中,容器退出后,通过docker ps命令查看不到,数据会丢失么?
|
4月前
|
算法 Linux 调度
探索进程调度:Linux内核中的完全公平调度器
【8月更文挑战第2天】在操作系统的心脏——内核中,进程调度算法扮演着至关重要的角色。本文将深入探讨Linux内核中的完全公平调度器(Completely Fair Scheduler, CFS),一个旨在提供公平时间分配给所有进程的调度器。我们将通过代码示例,理解CFS如何管理运行队列、选择下一个运行进程以及如何对实时负载进行响应。文章将揭示CFS的设计哲学,并展示其如何在现代多任务计算环境中实现高效的资源分配。
|
4月前
|
开发工具
【Azure 环境】使用Microsoft Graph PS SDK 登录到中国区Azure, 命令Connect-MgGraph -Environment China xxxxxxxxx 遇见登录错误
【Azure 环境】使用Microsoft Graph PS SDK 登录到中国区Azure, 命令Connect-MgGraph -Environment China xxxxxxxxx 遇见登录错误
|
5月前
|
监控 Unix Linux
ps aux 命令使用查看内存、cpu使用排名与top的区别
ps aux 命令使用查看内存、cpu使用排名与top的区别
733 1