进程管理

linux维护工作中,常常需要对系统上运行的程序进行管理,那么进程管理就显得相当重要。

进程初识

  • 什么是进程?

      进程是并发执行的程序在执行过程中分配和管理资源的基本单位,是一个动态概念。它代表CPU所能处理的单个任务。
  • 什么是线程?

      线程是程序流执行的最小单元,可以理解为进程中执行的一段程序片段。
  • 进程与线程联系和区别

      一个线程可撤销另一个线程,同一个进程中的多个线程可并发执行。
      可与同进程中的其他线程共享内存空间,拥有自己的栈空间,和独立的执行序列。
  • 进程分类

      守护进程:在系统引导过程中启动的进程,和终端无关。
      前台进程:跟终端相关,通过终端启动的进程。
      两者可相互转化。
  • 进程优先级
      1-99:实时优先级:数字越大,优先级越高。
      100-139:静态优先级:数字越小,优先级越高。
      nice值:-20,193、ps命令 用于报告系统当前系统进程状态。

  • 进程状态
    进程管理

运行态:
  当进程正在被CPU执行,或已经准备就绪随时可有调度程序执行,则该进程处于运行态(running).当系统资源已经可用时,进程就被唤醒而准备进入准备运行状态,该状态为就绪态。
可中断睡眠状态:
  处于这个状态的进程不会被系统调度。当系统产生了一个中断或者释放了进程正在等待 的资源,或者收到一个信号,都可以唤醒进程转换到就绪态(运行态)。
不可中断睡眠转态:与可中断睡眠转态类似。但只能被wake_up()函数唤醒才能转换为就绪态。
暂停转态:
  进程收到信号SIGSTOP、SIGTSTP、SIGTTIN或SIGTTOU时会转换为暂停转态,向其发送SIGCONT信号可让其转换为可运行状态。
僵尸状态:
  当进程已经停止运行,但其父进程还没有询问其状态时,该进程处于僵死状态。

进程管理命令

  • ps命令
    用于报告当前系统的进程状态。可以搭配kill指令随时中断、删除不必要的程序。ps命令是最基本同时也是非常强大的进程查看命令,使用该命令可以确定有哪些进程正在运行和运行的状态、进程是否结束、进程有没有僵死、哪些进程占用了过多的资源等等。
    进程管理

  • top命令
    top命令可以实时动态地查看系统的整体运行情况,是一个综合了多方信息监测系统性能和运行信息的实用工具。通过top命令所提供的互动式界面,用热键可以管理。
    进程管理

  • htop命令
    htop是Linux系统下一个基本文本模式的、交互式的进程查看器,主要用于控制台或shell中,可以替代top,或者说是top的高级版。

      快速查看关键性能统计数据,如CPU(多核布局)、内存/交换使用
      可以横向或纵向滚动浏览进程列表,以查看所有的进程和完整的命令行
      杀掉进程时可以直接选择而不需要输入进程号
      通过鼠标操作条目
      比top启动得更快

    进程管理

  • vmstat命令
    显示虚拟内存状态(Viryual Memor Statics),但是它可以报告关于进程、内存、I/O等系统整体运行状态。
    进程管理

  • pmap命令
    pmap命令用于报告进程的内存映射关系,是linux调试及运维的一个很好的工具。
    pmap [options] pid [...]
    -x 显示详细格式
    pmap 读取的是/proc/PID/maps中的信息。

  • glances命令
    Glances 是一个由Python编写,使用 psutil 库来从系统抓取信息的基于curses开发的跨平台命令行系统监视工具。通过Glances,可以监视CPU,平均负载,内存,网络流量,磁盘 I/O,其他处理器和文件系统空间的利用情况。
    进程管理

  • dstat命令
    dstat命令是一个全能信息统计工具,拥有彩色界面,支持实时刷新,功能非常强大。
    进程管理

  • kill命令
    kill命令可以给进程发送信号,通过传递信号可以完成多种操作

      常用信号
      1) SIGHUP: 无须关闭进程而让其重读配置文件;
      2) SIGINT: 中止正在运行的进程;相当于Ctrl+c;
      9) SIGKILL: 杀死正在运行的进程;
      15) SIGTERM:终止正在运行的进程;
      18) SIGCONT:
      19) SIGSTOP:
      显示当前可用信号 kill -l

    例:[root@localhost ~]# kill -9 4197
      Killed
      [root@localhost ~]#

  • pkill命令
    pkill命令可以按照进程名杀死进程。pkill和killall应用方法差不多,也是直接杀死运行中的程序;如果想杀掉单个进程,请用kill来杀掉。
    进程管理

原创文章,作者:M20-1--孔祥文,如若转载,请注明出处:http://www.178linux.com/44411

(0)
M20-1--孔祥文M20-1--孔祥文
上一篇 2016-09-07 17:17
下一篇 2016-09-07 17:44

相关推荐

  • N28-第四周

    1、复制/etc/skel目录为/home/tuser1,要求/home/tuser1及其内部文件的属组和其它用户均没有任何访问权限。
    2、编辑/etc/group文件,添加组hadoop。
    3、手动编辑/etc/passwd文件新增一行,添加用户hadoop,其基本组ID为hadoop组的id号;其家目录为/home/hadoop。
    4、复制/etc/skel目录为/home/hadoop,要求修改hadoop目录的属组和其它用户没有任何访问权限。
    5、修改/home/hadoop目录及其内部所有文件的属主为hadoop,属组为hadoop。
    6、显示/proc/meminfo文件中以大写或小写S开头的行;用两种方式;
    7、显示/etc/passwd文件中其默认shell为非/sbin/nologin的用户;
    8、显示/etc/passwd文件中其默认shell为/bin/bash的用户;
    9、找出/etc/passwd文件中的一位数或两位数;
    10、显示/boot/grub/grub.conf中以至少一个空白字符开头的行;
    11、显示/etc/rc.d/rc.sysinit文件中以#开头,后面跟至少一个空白字符,而后又有至少一个非空白字符的行;
    12、打出netstat -tan命令执行结果中以‘LISTEN’,后或跟空白字符结尾的行;
    13、添加用户bash, testbash, basher, nologin (此一个用户的shell为/sbin/nologin),而后找出当前系统上其用户名和默认shell相同的用户的信息;

    2017-12-30
  • LNMP的虚拟主机配置http和https

    项目实战:    搭建LNMP环境:Linux+Nginx+Mysql(MariaDB)+php(php-fpm),创建多个虚拟主机:    主机1提供正常的http服务,用于安装wordpress博客;    主机2提供正常的https服…

    Linux干货 2016-10-30
  • vim编译器与shell脚本简介

    一、vim文本编译器       vi:Visual Interface,文本编辑器;   文本: ASCII Unicode  文本编辑种类:行编辑器:sed  ;全屏编辑器:nano,vi ,vim ;其他编辑器:gedit(图形),g…

    Linux干货 2016-11-24
  • 救援模式安装grub

    如果之前mbr没有备份,而后grub损坏进不了系统,只能用系统光盘或U盘开机进入救援模式安装grub,操作如下 1.光盘启动,进入救援模式 2.切换根目录 # chroot /mnt/sysimage 3.安装 grub # grub-install /dev/sda 4.重新启动        &…

    Linux干货 2017-01-13
  • 程序包管理之制作yum本地源

    Yum(全称为 Yellow dog Updater, Modified)是一个在Fedora和RedHat以及CentOS中的Shell前端软件包管理器。基于RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软件包,无须繁琐地一次次下载、安装。 使用本地yum源有两种方式:第一直接使用光盘镜像,不过此方…

    Linux干货 2016-08-24
  • Linux 根文件系统层级结构

    一、Linux根文件系统层级结构图 二、Linux根文件系统目录说明

    Linux干货 2016-09-26

评论列表(1条)

  • 马哥教育
    马哥教育 2016-09-10 11:01

    文档功底相当不错,尤其是思维导图,做的太精美的,赞一个!!!