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等。这些命令能够帮助用户了解系统中运行的进程,监视系统性能,以及管理和控制进程的运行。通过熟练掌握这些命令,系统管理员和开发人员可以更好地管理系统,及时排查故障,并保持系统的稳定性和高效性。

目录
相关文章
|
4月前
|
监控
ps 进程中的字段信息
该表介绍了进程管理中的关键字段,包括进程ID、用户、CPU与内存使用情况、运行时间、状态及优先级等信息,用于监控和分析系统中各进程的资源占用与运行状态。
206 10
|
11月前
|
Linux 数据库 Perl
【YashanDB 知识库】如何避免 yasdb 进程被 Linux OOM Killer 杀掉
本文来自YashanDB官网,探讨Linux系统中OOM Killer对数据库服务器的影响及解决方法。当内存接近耗尽时,OOM Killer会杀死占用最多内存的进程,这可能导致数据库主进程被误杀。为避免此问题,可采取两种方法:一是在OS层面关闭OOM Killer,通过修改`/etc/sysctl.conf`文件并重启生效;二是豁免数据库进程,由数据库实例用户借助`sudo`权限调整`oom_score_adj`值。这些措施有助于保护数据库进程免受系统内存管理机制的影响。
|
11月前
|
Linux Shell
Linux 进程前台后台切换与作业控制
进程前台/后台切换及作业控制简介: 在 Shell 中,启动的程序默认为前台进程,会占用终端直到执行完毕。例如,执行 `./shella.sh` 时,终端会被占用。为避免不便,可将命令放到后台运行,如 `./shella.sh &`,此时终端命令行立即返回,可继续输入其他命令。 常用作业控制命令: - `fg %1`:将后台作业切换到前台。 - `Ctrl + Z`:暂停前台作业并放到后台。 - `bg %1`:让暂停的后台作业继续执行。 - `kill %1`:终止后台作业。 优先级调整:
967 5
|
运维 监控 Java
使用jps命令查看Java进程
`jps`是Java开发者和系统管理员的得力助手,它简化了Java进程监控的过程,使得快速检查应用运行状态变得轻而易举。通过合理利用其提供的参数,可以高效地进行故障排查、性能监控及日常管理任务,确保Java应用稳定运行。
1419 2
|
弹性计算 Linux 区块链
Linux系统CPU异常占用(minerd 、tplink等挖矿进程)
Linux系统CPU异常占用(minerd 、tplink等挖矿进程)
606 4
Linux系统CPU异常占用(minerd 、tplink等挖矿进程)
|
jenkins Java Shell
解决jenkins结束后kill掉衍生进程
解决jenkins结束后kill掉衍生进程
|
网络协议
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、用户、文件描述符等信息。文章通过示例展示了如何使用这些命令,并提供了输出结果的截图。
1253 2
|
Java Windows
【Azure Developer】Windows中通过pslist命令查看到Java进程和线程信息,但为什么和代码中打印出来的进程号不一致呢?
【Azure Developer】Windows中通过pslist命令查看到Java进程和线程信息,但为什么和代码中打印出来的进程号不一致呢?
246 1
|
算法 Linux 调度
探索进程调度:Linux内核中的完全公平调度器
【8月更文挑战第2天】在操作系统的心脏——内核中,进程调度算法扮演着至关重要的角色。本文将深入探讨Linux内核中的完全公平调度器(Completely Fair Scheduler, CFS),一个旨在提供公平时间分配给所有进程的调度器。我们将通过代码示例,理解CFS如何管理运行队列、选择下一个运行进程以及如何对实时负载进行响应。文章将揭示CFS的设计哲学,并展示其如何在现代多任务计算环境中实现高效的资源分配。
|
Java 运维
开发与运维命令问题之使用jstack命令查看Java进程的线程栈如何解决
开发与运维命令问题之使用jstack命令查看Java进程的线程栈如何解决
239 2