linux系统之进程管理

前言

我们拥有操作系统就是为了运行用户程序,程序的运行需要调动进程,因此进程管理就是所有操作系统的心脏。
实际上,进程就是正在执行的程序代码的时事结果。

进程的理解

  • 进程:
    进程是静态的文件,是运行中的程序的一个副本,且存在生命周期。
  • 进程状态:
状态 定义
R(TASK_RUNNING) 可执行状态(RUNNING,READY)
S(TASK_INTERRUPTIBLE) 可唤醒睡眠状态
D(TASK_UNINTERRUPTIBLE) 不可唤醒睡眠状态
T(TASK_STOPPED) 暂停状态
Z(EXIT_ZOMBIE) 僵死态

正在运行与就绪态的区别在于是否正在占用cpu的时间片

就绪态与可唤醒状态的区别在于是否在cpu运行的队列中

可唤醒与不可唤醒的区别在于是否拥有程序运行所需要的系统资源。

ctrl+z可使进程进入后台的暂停状态,一般暂停状态是人为操作的。

僵死态指这个进程无父进程给回收其系统资源,会造成系统资源浪费。

进程查看

  • 进程树pstree

    [root@workstation Desktop]# pstree
    systemd─┬─ModemManager───2*[{ModemManager}]
      	  ├─NetworkManager───2*[{NetworkManager}]
     	  ├─accounts-daemon───2*[{accounts-daemon}]
      ├─agetty
      ├─atd
      ├─auditd─┬─sedispatch
      │        └─2*[{auditd}]
      ├─avahi-daemon───avahi-daemon
      ├─boltd───2*[{boltd}]
      ├─chronyd
      ├─colord───2*[{colord}]
      ├─crond
      ├─cupsd
      ├─dbus-daemon───{dbus-daemon}
      ├─dnsmasq───dnsmasq
      ├─firewalld───{firewalld}
      ...
    

    进程:是资源调配的最小单位。
    线程:内核调度的对象,拥有独立的程序计数器、进程栈和一组进程寄存器。对于linux而言,线程是特殊的进程。也是进程运行的最小单位。
    systemd是守护进程。

  • ps命令(显示当前命令执行时进程状态)
    a 显示与终端相关进程(BSD)
    x 显示所有与终端无关进程(BSD)
    u 以用户为归类来显示进程状态信息(BSD)
    f 层级结构显示进程信息

    [root@workstation Desktop]# ps
        PID TTY          TIME CMD
       2499 pts/0    00:00:00 bash
       3273 pts/0    00:00:00 ps
    [root@workstation Desktop]# bash
    [root@workstation Desktop]# ps
        PID TTY          TIME CMD
       2499 pts/0    00:00:00 bash
       3288 pts/0    00:00:00 bash
       3326 pts/0    00:00:00 ps
    [root@workstation Desktop]# ps f
        PID TTY      STAT   TIME COMMAND
       2499 pts/0    Ss     0:00 bash
       3288 pts/0    S      0:00  \_ bash
    

    o 指定查看选项,pid,comm,nice,pri,pcpu,stat,ppid
    -e 显示所有进程(uinx)
    -f 显示完整格式信息(unix)
    -H 层级结构显示进程的相关信息
    -o 指定查看选项,pid,comm,nice,%cpu,%mem,nice

    [root@workstation Desktop]# ps axo pid,comm,nice,stat | less
        PID COMMAND          NI STAT
          1 systemd           0 Ss
          2 kthreadd          0 S
          3 rcu_gp          -20 I<
          4 rcu_par_gp      -20 I<
          6 kworker/0:0H-kb -20 I<
          8 mm_percpu_wq    -20 I<
          9 ksoftirqd/0       0 S
         10 rcu_sched         0 I
         11 migration/0       - S
         12 
  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值