【linux_笔记】Linux进程管理(ps)

学习资源来自:www.magedu.com

学习记录过程难免出现错误,示例仅供参考,大神请无视。。


进程管理相关命令:
    ps:Process State(进程状态)
        SysV风格: -elF
            常用命令格式:
                ps -e    
                ps -el | head
                ps -elF | head
                ps -eF    (常用)
            
        BSD风格:ps aux | head
            a:显示与终端有关的进程(并非绝对)
            u:显示详细信息
            x:显示与终端无关的进程(并非绝对)
            
            显示内容:
                RSS:常驻内存集(不能被交换至硬盘的数据)
                VSZ: 虚拟内存集
                进程状态(STAT):
                    D:不可中断的睡眠
                    R:运行或就绪
                    S:可中断的睡眠
                    T:停止
                    Z:僵死
                    
                    <:高优先级进程
                    N:低优先级进程
                    +:前台进程组中的进程
                    l: 多线程进程
                    s:会话进程首进程
                []: 内核线程
                            
            -o: 指定显示字段
                
                ps -o PROPERTY1,PROPERTY2
                
                ps -axo pid,comm,ni | head
                pa aux | grep "bash"  (查找进程)
    pstree:显示进程树
    pgrep: 以grep风格查找指定进程  
        pgrep -u root bash  //以root用户为属主且为bash的进程
        pgrep bash   //仅显示进程号
    pidof: 根据程序名查找进程号
    top:监控进程运行状态
        cpu(s):平均值
            1:展开
            
        命令:
            M: 根据驻留内存大小进行排序
            P:根据CPU使用百分比进行排序
            T: 根据累计时间进行排序
            
            l: 是否显示平均负载和启动时间
            t: 是否显示进程和CPU状态相关信息
            m: 是否显示内存相关信息
            
            c: 是否显示完整的命令行信息
            q: 退出top
            k: 终止某个进程
            
        选项:
            -d: 指定延迟时长,单位是秒
            -b: 批模式(翻屏)
            -n #:在批模式下,共显示多少批
        
    vmstat:系统状态查看命令
        vmstat N M: 每隔N秒刷新一次,仅显示M个
    free:查看磁盘占用状态
    kill
        kill PID:终止某进程
        kill %JOBID: 终止某作业
        killall COMMAND:终止某程序下的所有进程
        
        kill -l : 显示所有可用信号
            重要信号:
                1:SIGHUP:让一个进程不用重启,就可以重读其配置文件,并让新的配置信息生效
                2: SIGINT:Ctrl+c:中断一个进程
                9: SIGKILL:杀死一个进程
                15: SIGTERM:终止一个进程(默认信号)
            指定信号的方式:
                信号号码:kill -1
                信号名称:kill -SIGKILL
                信号名称:kill -KILL
    pkill (类似于 pgrep)
    bg:后台作业:占据了命令提示符
        bg [%]JOBID:启动后台作业
    fg:前台作业:启动之后,释放命令提示符,后续操作在后台完成
        fg [%]JOBID:将后台作业调回前台
        
        前台-->后台:
            Ctrl+z:把正在前台的作业送往后台(默认作业状态为停止)
            COMMAND &:让命令在后台执行
            
    jobs:查看后台的所有作业
        (作业号不同于进程号)
            +:命令将默认操作的作业
            -:命令将第二个默认操作的作业
            
    uptime: top的第一行信息

    调整nice值:(调整进程优先级)
        1、进程已经启动:renice NI PID
        2、在启动时指定nice值: nice -n NI COMMAND
    
    cat /proc/meminfo:查看内存信息
    cat /proc/PID/maps:查看指定进程内存信息


=================进程管理相关概念==================
    
内存:线性内存,物理内存
内核数据结构:
    task struct
        pid:7
        ppid:
        name:
        ...
缩写解释:
    MMU:Memory Management Unit 内存管理单元
    TLB:Translation Lookaside Buffer 旁路转换缓冲(块表)
    Context Switch:上下文切换(进程切换)
    rss:常驻内存集(不能被交换至硬盘的数据)
    vsz: 虚拟内存集
    PID:Process ID  进程号  ppid - 父进程号 (init进程号为1)
    IPC: Inter Process Communication 进程间通信

进程:
    进程号
    内存空间
    用户
    父进程
    CPU time

进程执行特点:
    多核系统:一个cpu一次只能执行一个进程的指令
    并行编程模型(多线程模型):线程。
        (将一个进程划分为多个执行流(执行实体),从而实现一个进程同时在多个cpu中运行)
        进程:分配资源
        线程:共享进程分配的资源,负责运行
            需要处理的问题:同步:加锁...(自旋锁)

进程状态:停止,就绪,执行,睡眠,僵尸(进程已结束但内存未释放)
    睡眠状态类型:
    uninterruptib sleep:不可中断的睡眠:需要外部资源(打开文件)
          interruptable sleep:可中断睡眠

进程的父子关系:
    kernel:(上帝)          
    init:由内核负责生成的第一个进程,是其它所有进程的父进程
    pstree:显示进程树

优先级级别:0-139
    100-139:用户可控制
        nice值:-20~19 分别对应 100~139,nice值越小优先级越高
        (普通用户仅能够调大自己进程的nice值)
    0-99:仅可由内核调整
    
    优先级高的特性:
        1、获得更多的CPU运行时间
        2、更优先获得运行的机会

进程信息所处位置:/proc    (一个进程号对应一个进程)
进程分的分类:与终端相关的进程,与终端无关的进程
    
    
    
    
    

你可能感兴趣的:(PS,进程管理)