• Linux进程笔记


    进程及作业管理

    Uninterruptible sleep: 不可中断的睡眠
    Interruptible sleep:可中断睡眠



    kernel:
    init:

    COW: Copy On Write, 写时复制



    100-139:用户可控制
    0-99:内核调整的

    O:
        O(1)
        O(n)
        O(logn)
        O(n^2)
        O(2^n)
        
    init: 进程号为1

    ps: Process State
        SysV风格:-
        BSD风格:
        
        a: 所有与终端有关的进程
        u:
        x: 所有与终端无关的进程
        
    进程的分类:
        跟终端相关的进程
        跟终端无关的进程

    进程状态:
        D:不可中断的睡眠
        R:运行或就绪
        S:可中断的睡眠
        T:停止
        Z:僵死
        
        <:高优先级进程
        N: 低优先级进程
        +:前台进程组中的进程
        l: 多线程进程
        s: 会话进程首进程

    ps    
        -elF
        -ef
        -eF

    ps -o PROPERTY1,PROPERTY2

    ps -o pid,comm,ni

        
        
    pstree: 显示当前系统上的进程树

    pgrep:
    pidof: 根据程序名称,查找其相关进程的ID号;
    top:



    vmstat
    free
    kill
    pkill
    bg
    fg



    <:高优先级的进程
    N:低优先级的进程
    l: 多线程进程
    +:前台进程组中的进程
    s: 会话进程的领导者


    top:
        M: 根据驻留内存大小进行排序
        P:根据CPU使用百分比进行排序
        T: 根据累计时间进行排序
        
        l: 是否显示平均负载和启动时间
        t: 是否显示进程和CPU状态相关信息
        m: 是否显示内存相关信息
        
        c: 是否显示完整的命令行信息
        q: 退出top
        k: 终止某个进程

    top
        -d: 指定延迟时长,单位是秒
        -b: 批模式
        -n #:在批模式下,共显示多少批
        
    进程间通信(IPC: Inter Process Communication)
        共享内存
        信号: Signal
        Semaphore
        
    重要的信号:
    1:SIGHUP: 让一个进程不用重启,就可以重读其配置文件,并让新的配置信息生效;
    2: SIGINT:Ctrl+c: 中断一个进程
    9: SIGKILL:杀死一个进程
    15: SIGTERM:终止一个进程, 默认信号
        
    指定一个信号:
        信号号码:kill -1
        信号名称:kill -SIGKILL
        信号名称简写:kill -KILL

    kill PID
    killall COMMAND


    调整nice值:
    调整已经启动的进程的nice值:
    renice NI PID

    在启动时指定nice值:
    nice -n NI COMMAND



    前台作业:占据了命令提示符
    后台作业:启动之后,释放命令提示符,后续的操作在后台完成

    前台-->后台:
        Ctrl+z: 把正在前台的作业送往后台
        COMMAND &:让命令在后台执行
        
    bg: 让后台的停止作业继续运行
        bg [[%]JOBID]

    jobs: 查看后台的所有作业
        作业号,不同于进程号
            +:命令将默认操作的作业
            -:命令将第二个默认操作的作业
            
    fg: 将后台的作业调回前台
        fg [[%]JOBID]
        
    kill %JOBID: 终止某作业

    vmstat:系统状态查看命令
    uptime:  显示top命令的第一行

    /proc/meminfo  查看内存信息

  • 相关阅读:
    使用事件驱动代替定时任务
    MySql中的有条件插入 insert where
    Mac上“您没有权限来打开应用程序”(Big Sur)
    Java反编译反混淆神器
    Java实现开根号运算(不使用数组和String)
    使用vs code搭建Q#开发环境 (Mac)
    离散傅里叶变换DFT入门
    Java的nanoTime()方法
    Eslint提示const关键字被保留
    myBatis分页插件PageHelper的使用及源码详解
  • 原文地址:https://www.cnblogs.com/jjzd/p/5709196.html
Copyright © 2020-2023  润新知