美文网首页
进程管理

进程管理

作者: Oooyzx | 来源:发表于2019-08-10 14:19 被阅读0次

    进程管理
    进程和线程图形简单解释
    进程和线程管理
    VIM编辑
    Linux 系统资源信息的获取
    获取 Linux CPU 信息
    软件包管理
    oh-my-zsh
    电脑上的容量和速度

    进程和线程:

    1. 进程是一个具有独立功能的程序关于某个数据集合的一次运行活动。它可以申请和拥有系统资源,是一个动态的概念,是一个活动的实体。
    2. 进程是一个“执行中的程序”。程序是一个没有生命的实体,只有处理器赋予程序生命时,它才能成为一个活动的实体,我们称其为进程。
    3. 通常在一个进程中可以包含若干个线程,它们可以利用进程所拥有的资源。在引入线程的操作系统中,通常都是把进程作为分配资源的基本单位,而把线程作为独立运行和独立调度的基本单位。
    4. 线程和进程的区别在于,子进程和父进程有不同的代码和数据空间,而多个线程则共享数据空间

    线程与进程的区别归纳:

    a.地址空间和其它资源:进程间相互独立,同一进程的各线程间共享。某进程内的线程在其它进程不可见。
    b.通信:进程间通信IPC,线程间可以直接读写进程数据段(如全局变量)来进行通信——需要进程同步和互斥手段的辅助,以保证数据的一致性。
    c.调度和切换:线程上下文切换比进程上下文切换要快得多。
    d.在多线程OS中,进程不是一个可执行的实体。

    ps查看进程(静态)

    ps aux 查看所有的进程信息

    image.png

    ps aux 输出各字段意义:
    USER: 该 process 属于那个使用者帐号的?
    PID : 该 process 的程序识别码。
    %CPU: 该 process 使用掉的 CPU 资源百分比;
    %MEM: 该 process 所占用的实体内存百分比;
    VSZ : 该 process 使用掉的虚拟内存量 (KBytes)
    RSS : 该 process 占用的固定的内存量 (KBytes)
    TTY : 该 process 是在那个终端机上面运行,若与终端机无关则显示 ?,另外, tty1-tty6 是本机上面的登陆者程序,若为 pts/0 等等的,则表示为由网络连接进主机的程序。
    STAT: 该程序目前的状态,状态显示与 ps -l 的 S 旗标相同 (R/S/T/Z)
    START: 该 process 被触发启动的时间;
    TIME : 该 process 实际使用 CPU 运行的时间。
    COMMAND:该程序的实际指令为何?

    S:代表这个程序的状态 (STAT),主要的状态有:
    ========================================
    R (Running):该程序正在运行中;
    S (Sleep):该程序目前正在睡眠状态(idle),但可以被唤醒(signal)。
    D :不可被唤醒的睡眠状态,通常这支程序可能在等待 I/O 的情况(ex>打印)
    T :停止状态(stop),可能是在 jobs 控制(后台暂停)
    Z (Zombie):僵尸状态,程序已经终止但却无法被移除至内存外。
    ========================================

    ps 相关应用:

    [root@localhost ~]# ps -ef |grep bash
    root       1214    679  0 22:01 tty1     00:00:00 -bash
    root       1937   1924  0 23:42 pts/0    00:00:00 -bash
    root       1956   1937  0 23:45 pts/0    00:00:00 grep --color=auto bash
    当前进程号:
    [root@localhost ~]# echo $$
    1937
    
    两台终端:
    [root@localhost ~]# ps -ef |grep cat
    root       2021   2005  0 23:51 pts/0    00:00:00 cat
    root       2024   1966  0 23:51 pts/1    00:00:00 grep --color=auto cat
    [root@localhost ~]# kill -9 2021
    
    [root@localhost ~]# cat
    Killed
    
    管道:
    [root@localhost ~]# echo "hello oyzx" |cut -d' ' -f1
    hello
    
    正则表达式:
    [root@localhost ~]# echo "cat"|grep [cd]at
    cat
    [root@localhost ~]# echo "dat"|grep [cd]at
    dat
    
    [root@localhost ~]# ps aux |grep [v]im
    root       3131  0.1  0.5 151512  5364 pts/3    S+   03:28   0:00 vim a.txt
    [root@localhost ~]# kill -19 3131
    =============================
    lfsjdfhsldfhsj:wq
    adfasdf
    [1]+  Stopped                 vim a.txt
    [root@localhost log]#  jobs
    [1]+  Stopped                 vim a.txt
    

    top动态查看进程(动态)

    • top -d 5 //5秒自动刷新查看cpu使用情况


      image.png
    • top -n 1 //截取1s进程状态


      image.png

    signal信息量:

    image.png

    相关文章

      网友评论

          本文标题:进程管理

          本文链接:https://www.haomeiwen.com/subject/rjhrrctx.html