zoukankan      html  css  js  c++  java
  • Linux进程管理

    本文为原创文章,转载请标明出处

    目录

    • 查看进程命令 ps
    • 查看进程树命令 pstree
    • 实时显示进程命令 top
    • 查看后台任务命令 jobs
    • 后台任务调至前台命令 fg
    • 终止进程命令 kill
    • 指定进程运行优先级命令 nice
    • 改变进程优先级命令 renice
    • 计划任务命令 cron
    • 添加计划任务命令 crontab
    • 执行一次性计划任务命令 at

    查看进程命令 ps

    参数

    a:显示所有终端进程
    u:显示所有用户进程
    x:显示所有进程,包括没有明确终端的进程
    e:显示所有进程,与参数x类似,但使用的格式为BSD系统格式
    f:显示UID、PPID(父进程ID)、C(CPU占用率)和STIME(进程启动时间)字段
    l:显示进程的详细列表
    

    运行:

    # ps -ef
    

    显示字段:

    USER:运行此进程的用户名称
    PID:进程ID
    %CPU:进程的CPU占用率
    %MEM:实际内存占用率
    VSZ:进程占用虚拟内存大小,单位KB
    RSS:进程占用物理内存大小,单位KB
    TTY:从哪个终端启动
    STAT:目前进程所处的状态属性
    START:进程开始运行时间
    TIME:进程占用CPU的时间总和
    COMMAND:启动进程使用的命令
    

    STAT字段进程状态标识:

    D:不可中断的等待状态,通常是等待I/O设备(磁盘及网络等)的数据等
    R:正处于运行队列中的进程
    S:正处于中断休眠状态的进程,该进程可能是在等某个中断消息
    T:已停止工作的进程,因其被跟踪所以存在
    X:已经死亡的进程,通常不会看到这类进程
    Z:已经僵死的进程,通常不会看到这类进程
    <:高优先级进程
    N:低优先级进程
    s:会话的管理者
    +:进程会使用前台的终端
    l:多线程进程
    

    查看进程树命令 pstree

    # pstree
    

    实时显示进程命令 top

    # top
    

    几个新字段:

    PR:进程的优先级
    NI:该进程的优先级值
    VIRT:进程使用的虚拟内存总量
    RES:进程使用的物理内存总量
    SHR:进程使用的共享内存大小
    

    按H键查看帮助信息
    按P键按CPU使用率排序
    按M键按内存占用率排序

    查看后台任务命令 jobs

    # jobs
    

    后台任务调至前台命令 fg

    # fg [作业号]
    

    终止进程命令 kill

    命令格式

    # kill -signal PID
    

    例如:

    查看信号列表
    # kill -l
    强制终止PID为16952的进程
    # kill -9 16952
    

    指定进程运行优先级命令 nice

    命令格式

    # nice [option] [command]
    

    例如:

    以优先级19运行脚本exam.sh
    # nice -n 19 ./exam.sh &
    

    改变进程优先级命令 renice

    命令格式

    # renice -n PID
    

    例如:

    改变PID为15478进程的优先级为5
    # renice -5 15478
    

    添加计划任务命令 crontab

    计划任务格式 cron

    # * * * * * command
    
    第一个*:分钟1~59
    第二个*:小时0~23
    第三个*:日期1~31
    第四个*:月份1~12
    第五个*:星期0~6
    
    -:表示一个范围
    *:表示每个单位时间
    ,:表示一个列表
    #:表示行注释
    /:表示一个分隔时间段
    

    例如:

    每周星期六、星期日的19点到24点,每隔15分钟运行脚本/file/net_tj.sh
    # */15 19-24 * * 6,0 /file/net_tj.sh
    

    crontab 参数

    u:指定要操作的系统任务
    e:编辑计划任务
    r:删除计划任务
    l:查看已经存在的计划任务
    

    执行一次性计划任务命令 at

    命令格式

    # at [option] [time command]
    

    参数

    f:指定一个文件作为任务脚本
    m:完成任务之后给用户发送一个邮件
    l:列出计划任务列表
    d:删除指定的计划任务
    

    例如:

    添加一个5小时后执行脚本/root/exam.sh的任务
    # at now +5 hour -f /root/exam.sh
    

    如有不当之处,请予指正,谢谢~

  • 相关阅读:
    Spring IOC -bean对象的生命周期详解
    @RequestBody 和@ResponseBody 注解详解
    SpringMVC访问静态资源的三种方式
    servlet的url-pattern匹配规则详细描述
    SpringMVC POJO入参过程分析
    SpringMVC @ModelAttribute详解
    SpringMVC @SessionAttributes注解
    SpringMVC 向页面传值-Map、Model和ModelMap
    SpringMVC 向前台页面传值-ModelAndView
    SpringMVC 使用Servlet原生API作为参数
  • 原文地址:https://www.cnblogs.com/metaphors/p/7646876.html
Copyright © 2011-2022 走看看