热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

9.Linux进程管理

文章目录一、查看进程1.1、查看进程树1.2、查看进程快照1.3、进程动态排名1.4、检索进程二、控制进程2.1、进程的前后台调度2.2、jobs命令2.3、fg命令2.4、bg命


文章目录

  • 一、查看进程
    • 1.1、查看进程树
    • 1.2、查看进程快照
    • 1.3、进程动态排名
    • 1.4、检索进程
  • 二、控制进程
    • 2.1、进程的前后台调度
    • 2.2、jobs 命令
    • 2.3、fg 命令
    • 2.4、bg 命令
  • 三、杀死进程
    • 3.1、kill 命令
    • 3.2、killall 命令
    • 3.3、pkill 命令


  • 每个执行的任务都被称为进程(process)。

  • Linux系统中每运行一个程序都会创建一个进程。

  • 进程就是一个正在运行的程序实例。

  • 进程是一个动态的概念,可以与操作系统、其他进程以及用户进行数据交互。

  • 每个进程启动后,系统都会自动为它分配一个唯一的数值,用于标识该进程,这个数值就被称为进程号(Process ID,PID)。进程号是这个进程的唯一标识,系统也是通过进程号来管理的。


一、查看进程


1.1、查看进程树


  • pstree 命令(Processes Tree)
    • 命令格式: pstree [选项] [PID或用户名]
    • 常用命令选项
      • -a 显示完整的命令行
      • -p 列出对应的PID编号

[root@localhost ~]# pstree
[root@localhost ~]# pstree -p
[root@localhost ~]# pstree -a[root@localhost ~]# pstree lisi
bash
[root@localhost ~]# pstree -p lisi
bash(17546)

  • systemd 上帝进程(所有进程的父进程)

1.2、查看进程快照


  • ps 命令 (Processes Snapshot)

    • 命令格式: ps [选项]

    • 常用选项

      • aux:
        • a 显示当前终端所有进程
        • x 当前用户在所有终端下的进程
        • u 以用户格式输出

      [root@localhost ~]# ps aux

      用户 进程ID 占用CPU 占用内存 虚拟内存 固定内存 终端 状态 起始状态 CPU时间 程序指令

      • -elf:
        • e 显示当前终端所有进程
        • l 以长格式显示
        • f 最完整的进程信息

      [root@localhost ~]# ps -elf

      输出内容中会显示PPID(父进程ID)


1.3、进程动态排名


  • top交互式工具
    • 命令格式: top [-d 刷新秒数] [-U 用户名]

[root@localhost ~]# top -d5

  • P 按照占用CPU进行排序
  • M 按照占用内存进行排序

1.4、检索进程


  • pgrep (Process Grep)

    • 命令格式 : pgrep [选项] 查询条件

    • 常用命令:

      • -l 输出进程名

      [root@localhost ~]# pgrep -l bash //查找进程名中带有bash的
      17012 bash
      17476 bash
      17546 bash

      • -U 检索指定用户的进程

      [root@localhost ~]# pgrep -lU lisi //查找用户lisi的进程
      17546 bash

      • -x 精确匹配完整的进程名

      [root@localhost ~]# pgrep -lx crond //查找进程名叫crond的
      1145 crond


二、控制进程


2.1、进程的前后台调度


  • 前台启动

    • 输入命令后,会占用当前的终端
  • 后台启动

    • 在命令行后加“&”,不占用当前终端
  • Ctrl+z 挂起当前进程(暂停运行转入后台)


2.2、jobs 命令


  • 查看后台任务列表

[root@localhost ~]# sleep 100 &
[1] 21162
[root@localhost ~]# jobs
[1]+ 运行中 sleep 100 &

2.3、fg 命令


  • 将后台任务恢复到前台运行

[root@localhost ~]# fg 1
sleep 100

2.4、bg 命令


  • 激活后台被挂起任务

[root@localhost ~]# fg 1
sleep 100
^Z
[1]+ 已停止 sleep 100[root@localhost ~]# jobs
[1]+ 已停止 sleep 100
[root@localhost ~]# bg 1
[1]+ sleep 100 &
[root@localhost ~]# jobs
[1]+ 运行中 sleep 100 &

三、杀死进程

普通用户只能终止自己运行的进程,root用户可以终止所有。


  • Ctrl+C 结束前台进程

3.1、kill 命令


  • 命令格式1: kill [-9] PID
  • 命令格式2: kill [-9] %后台任务编号
  • -9 表示强制杀死

[root@localhost ~]# sleep 100000 &
[1] 23123
[root@localhost ~]# jobs
[1]+ 运行中 sleep 100000 &
[root@localhost ~]# kill 23123
[root@localhost ~]# jobs
[1]+ 已终止 sleep 100000[root@localhost ~]# sleep 100000 &
[1] 23168
[root@localhost ~]# jobs
[1]+ 运行中 sleep 100000 &
[root@localhost ~]# kill %1
[root@localhost ~]# jobs
[1]+ 已终止 sleep 100000

3.2、killall 命令


  • 命令格式: killall [-9] 进程名
  • 命令格式: killall [-9] -u 用户名

[root@localhost ~]# sleep 100000 &
[1] 23300
[root@localhost ~]# jobs
[1]+ 运行中 sleep 100000 &
[root@localhost ~]# killall sleep
[1]+ 已终止 sleep 100000

3.3、pkill 命令


  • 命令格式: pkill 查找条件

[root@localhost ~]# sleep 100000 &
[1] 23363
[root@localhost ~]# jobs
[1]+ 运行中 sleep 100000 &
[root@localhost ~]# pkill -9 sleep
[1]+ 已杀死 sleep 100000

推荐阅读
  • 一、概述nmon是一种在AIX与各种Linux操作系统上广泛使用的监控与分析工具,相对于其它一些系统资源监控工具来说,nmon所记录的信息是比较全面的 ... [详细]
  • Skywalking系列博客1安装单机版 Skywalking的快速安装方法
    本文介绍了如何快速安装单机版的Skywalking,包括下载、环境需求和端口检查等步骤。同时提供了百度盘下载地址和查询端口是否被占用的命令。 ... [详细]
  • 在Docker中,将主机目录挂载到容器中作为volume使用时,常常会遇到文件权限问题。这是因为容器内外的UID不同所导致的。本文介绍了解决这个问题的方法,包括使用gosu和suexec工具以及在Dockerfile中配置volume的权限。通过这些方法,可以避免在使用Docker时出现无写权限的情况。 ... [详细]
  • 本文介绍了Oracle数据库中tnsnames.ora文件的作用和配置方法。tnsnames.ora文件在数据库启动过程中会被读取,用于解析LOCAL_LISTENER,并且与侦听无关。文章还提供了配置LOCAL_LISTENER和1522端口的示例,并展示了listener.ora文件的内容。 ... [详细]
  • 本文详细介绍了Linux中进程控制块PCBtask_struct结构体的结构和作用,包括进程状态、进程号、待处理信号、进程地址空间、调度标志、锁深度、基本时间片、调度策略以及内存管理信息等方面的内容。阅读本文可以更加深入地了解Linux进程管理的原理和机制。 ... [详细]
  • 本文介绍了在Mac上搭建php环境后无法使用localhost连接mysql的问题,并通过将localhost替换为127.0.0.1或本机IP解决了该问题。文章解释了localhost和127.0.0.1的区别,指出了使用socket方式连接导致连接失败的原因。此外,还提供了相关链接供读者深入了解。 ... [详细]
  • Linux如何安装Mongodb的详细步骤和注意事项
    本文介绍了Linux如何安装Mongodb的详细步骤和注意事项,同时介绍了Mongodb的特点和优势。Mongodb是一个开源的数据库,适用于各种规模的企业和各类应用程序。它具有灵活的数据模式和高性能的数据读写操作,能够提高企业的敏捷性和可扩展性。文章还提供了Mongodb的下载安装包地址。 ... [详细]
  • 本文整理了Java面试中常见的问题及相关概念的解析,包括HashMap中为什么重写equals还要重写hashcode、map的分类和常见情况、final关键字的用法、Synchronized和lock的区别、volatile的介绍、Syncronized锁的作用、构造函数和构造函数重载的概念、方法覆盖和方法重载的区别、反射获取和设置对象私有字段的值的方法、通过反射创建对象的方式以及内部类的详解。 ... [详细]
  • top命令使用方法及解读
    本文介绍了top命令的使用方法和解读,包括查看进程信息、系统负载、内存状态、CPU占用等内容。通过top命令可以持续观察系统上运行的进程,并了解系统负载情况,及时关闭一些进程以减轻系统负担。同时,还介绍了top命令的快捷键和安全模式启动方法。通过本文的学习,读者可以更好地使用top命令来管理系统进程。 ... [详细]
  • 三、查看Linux版本查看系统版本信息的命令:lsb_release-a[root@localhost~]#lsb_release-aLSBVersion::co ... [详细]
  • 进入配置文件目录:[rootlinuxidcresin-4.0.]#cdusrlocalresinconf查看都有哪些配置文件:[rootlinuxid ... [详细]
  • systemd-nspawn可以创建最轻量级的容器(ns的意思就是namespace),本文的实验平台是Ubuntu16.04,x86_64机器。本文的目的是:在Ubuntu中用syst ... [详细]
  • 之前项目在windows2003服务器上设置定时任务,每天执行。现在把项目移植到linux系统。也要在linux系统上设置计划任务。但是之前我从来没有做过。所以多得不 ... [详细]
  • 一、设置时区方法一:使用setup工具setup选择Timezoneconfiguration选择AsiaShanghai空格键勾选上System ... [详细]
  • 现在需要用到php(现在可以用)
    本文目录一览:1、现在在工作中PHP用到的多么? ... [详细]
author-avatar
jojo
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有