菜鸟科技网

Linux进程命令有哪些常用技巧?

Linux作为开源操作系统的核心,其进程管理功能是系统运维和开发的基础,进程是程序执行时的实例,包含了程序的代码、数据、资源以及执行状态等信息,掌握Linux进程相关命令,能够帮助用户有效监控系统性能、调试程序问题以及管理系统资源,以下将详细介绍Linux中常用的进程管理命令及其使用方法。

Linux进程命令有哪些常用技巧?-图1
(图片来源网络,侵删)

进程查看命令

  1. ps命令
    ps(Process Status)是最基础的进程查看工具,用于显示当前系统的进程状态,其常用选项包括:

    • ps -ef:显示所有进程的详细信息,包括UID、PID、PPID、C、STIME、TTY、TIME、CMD等列。
    • ps aux:以BSD格式显示所有进程,包含USER、PID、%CPU、%MEM、VSZ、RSS、TTY、STAT、START、TIME、COMMAND等列。
    • ps -ef | grep 进程名:过滤特定进程名的信息,常用于查找目标进程。

    ps -ef | grep nginx可以查看所有与nginx相关的进程。

  2. top命令
    top是一个动态交互式工具,实时显示系统中运行的进程及其资源占用情况,默认按CPU使用率排序,支持以下交互操作:

    • P:按CPU使用率排序。
    • M:按内存使用率排序。
    • k:终止指定进程(需输入PID)。
    • q:退出top界面。

    top界面分为两部分:上部为系统整体信息(如运行时间、任务数、CPU/内存占用率),下部为进程列表。

    Linux进程命令有哪些常用技巧?-图2
    (图片来源网络,侵删)
  3. htop命令
    htop是top的增强版,提供更直观的界面和更丰富的功能,如颜色区分进程、树形结构显示进程关系、鼠标操作支持等,需通过apt install htopyum install htop安装。

  4. pgrep命令
    pgrep根据进程名或其他属性查找进程PID,例如pgrep -f nginx返回所有包含nginx字符串的进程PID。

进程管理命令

  1. kill命令
    kill用于终止进程,通过发送信号实现,默认信号为SIGTERM(15),允许进程优雅退出;若进程无响应,可使用SIGKILL(9)强制终止。

    • kill PID:终止指定PID的进程。
    • kill -9 PID:强制终止进程。
    • kill -l:列出所有支持的信号。
  2. pkill命令
    pkill根据进程名或用户等属性批量终止进程,例如pkill -f nginx会终止所有包含nginx的进程。

  3. nohup命令
    nohup使进程在终端关闭后继续运行,输出默认写入nohup.out文件。

    nohup python server.py &

    &表示后台运行,即使退出终端,进程仍会执行。

  4. jobs命令
    jobs用于查看当前终端后台运行的作业,配合bg(后台运行)和fg(前台运行)管理作业。

    • jobs -l:显示作业及其PID。
    • fg %1:将作业1调至前台。

进程优先级与资源控制

  1. nice和renice命令

    • nice:启动进程时设置优先级(值范围-20到19,默认为0,数值越低优先级越高)。
      nice -n 10 ./script.sh以较低优先级运行脚本。
    • renice:调整已运行进程的优先级,例如renice 10 PID将进程PID的优先级设为10。
  2. ulimit命令
    ulimit控制用户进程的资源限制,如最大文件描述符数、最大进程数等。

    • ulimit -n 65536:设置最大文件描述符数为65536。
    • ulimit -a:显示所有当前资源限制。

进程监控与分析工具

  1. glances命令
    glances是一个跨平台的系统监控工具,以直观方式显示CPU、内存、磁盘、网络等资源占用情况,支持自动滚动和告警功能,需通过包管理器安装。

  2. vmstat命令
    vmstat报告虚拟内存统计信息,包括进程数、内存使用、CPU切换等。vmstat 1每秒刷新一次数据。

  3. iostat命令
    iostat监控系统I/O设备负载,例如iostat -xz 1显示扩展统计信息并每秒更新。

进程相关配置文件

  • /proc目录:虚拟文件系统,存储进程信息,例如/proc/PID/status显示进程状态,/proc/PID/cmdline显示启动命令。
  • /etc/security/limits.conf:配置用户进程的资源限制。

Linux进程管理命令是系统管理的重要工具,从基础的pstop到高级的glancesulimit,每个命令都有其独特用途,熟练掌握这些命令,能够帮助用户高效管理系统资源、排查性能瓶颈以及优化程序运行效率。


FAQs

如何查看某个进程的详细资源占用情况?
答:可以使用top -p PIDhtop -p PID查看指定进程的实时资源占用,或通过/proc/PID/目录下的文件(如statusstatm)获取详细信息。cat /proc/1/status可查看PID为1的进程状态。

如何让进程在后台持续运行且不受终端关闭影响?
答:使用nohup命令结合&符号,例如nohup command &,也可使用screentmux工具创建会话,在会话中运行进程,即使断开会话仍可保持运行。

分享:
扫描分享到社交APP
上一篇
下一篇