进程管理指令详解:ps pstree pgrep xkill pkill kill renice top nohup jobs bg fg

进程管理指令详解:ps pstree pgrep xkill pkill kill renice top nohup jobs bg fg

    进程一般分为交互进程、批处理进程和守护进程三类。

    守护进程总是活跃,在系统启动时通过脚本自动启动,或由root启动,通常在后台运行。

    一个进程可以拥有子进程。当父进程终止时,它的子进程也随之终止;而子进程终止时,父进程通常可以继续运行。

    init 进程为根进程,所有进程都是它的子进程
    
------------------------------------------------------------------------------------------------------------------------------------------
ps

显示进程信息,参数可省略 -

        -aux 以BSD风格显示进程 常用
        -efH 以System V风格显示进程
        -e , -A 显示所有进程
         a 显示终端上所有用户的进程
         x 显示无终端进程
         u 显示详细信息
         f 树状显示
         w 完整显示信息
         l 显示长列表

    示例:

    ps alx                  另一种常用输出格式
    ps aux | less           将输出通过管道,使用 less 查看
    ps aux | grep <关键字>   通过关键字查找进程

    输出字段

    USER          进程所有者
    PID           进程ID
    PPID          父进程
    %CPU          CPU占用率
    %MEM          内存占用率
    NI            进程优先级。数值越大,占用CPU时间越少
    VSZ           进程虚拟大小
    RSS           页面文件占用
    TTY           终端ID,tty1-tty6为本机登入者,pts/??为远程登入者执行的程序
    STAT          进程状态
       D          不可中断     Uninterruptible sleep (usually IO)
       R          正在运行,或在队列中的进程
       S          处于休眠状态
       T          停止或被追踪
       Z          僵尸进程
       W         进入内存交换(从内核2.6开始无效)
       X          死掉的进程


       <          高优先级
       N         低优先级
       L         有些页被锁进内存
       s         包含子进程
       +         位于后台的进程组;
       l          多线程,克隆线程  multi-threaded (using CLONE_THREAD, like NPTL pthreads do)
       
------------------------------------------------------------------------------------------------------------------------------------------

pstree

树状显示进程信息,相当于 ps -H
    -a 显示完整命令及参数
    -c 重复进程分别显示
    -c 显示进程ID PID
    -n 按 PID 排列进程
    
------------------------------------------------------------------------------------------------------------------------------------------

pgrep <进程名>

显示进程的PID
    -l 显示进程名和进程PID
    -o 进程起始ID
    -n 进程终止ID
    
------------------------------------------------------------------------------------------------------------------------------------------

xkill

在图形界面中点杀进程。执行此命令后,鼠标指针变为X图案。在窗口中点击左键杀死进程,右键取消

------------------------------------------------------------------------------------------------------------------------------------------

pkill <进程名>

结束进程。和killall用法差不多
如果结束单个进程,请用 kill

------------------------------------------------------------------------------------------------------------------------------------------

kill [信号代码] <进程PID>

根据PID向进程发送信号,常用来结束进程
    -l [信号数字] 显示、翻译信号代码
    -9 , -KILL 发送 kill 信号退出
    -6 , -ABRT 发送 abort 信号退出
    -15 , -TERM 发送 Termination 信号(默认值)
    -1 , -HUP 挂起
    -2 , -INT 从键盘中断,相当于 Ctrl+c
    -3 , -QUIT 从键盘退出,相当于 Ctrl+d
    -4 , -ILL 非法指令
    -11 , -SEGV 内存错误
    -13 , -PIPE 破坏管道
    -14 , -ALRM
    -STOP 停止进程,但不结束
    -CONT 继续运行已停止的进程
     -9 -1 结束当前用户的所有进程
    
------------------------------------------------------------------------------------------------------------------------------------------

renice <优先级表达式> <进程表达式>

重新设定进程优先级(无此必要)

    优先级表达式:
        +|-|= <nice值>
        nice取值范围:-20~19,-20为最高,19为最低,默认的程序优先级为0
    进程表达式:
        -p <PID> 通过进程ID进行设定
        -g <PGID> 通过进程群组ID
        -u <UID> 通过进程拥有者UID设定
        
------------------------------------------------------------------------------------------------------------------------------------------

top

动态、交互式进程管理器

        -c 显示进程启动状态,包括参数、操作对象等;而不只是进程名
        -d <秒> 刷新频率。 -d 5,表示5秒刷新一次
        -n <次> 刷新次数,然后退出。 -n 5,表示刷新5次后退出;
        -b 以批量模式运行,让输出能够使用管道或重定向。但不能进行交互,最好和 -n <次> 参数一同使用
        -i 禁止显示空闲进程或僵尸进程;
        -p PID 仅监视指定进程的ID;PID是一个数值;
        -s 安全模式运行,禁用一些效互指令;
        -S 累积模式,输出每个进程的总的CPU时间,包括已死的子进程;

    交互命令:
        <space> 立即刷新
        k 交互式杀死进程,提示输入进程 PID (默认发送信号15)
        r 设定renice,提示输入PID和renice值

        s 改变两次刷新时间间隔,以秒为单位
        n 设定显示进程数, 0 为不作限制
        i 隐藏空闲进程和僵尸进程
        S 切换到累积时间模式

        l 开关,在顶部显示 uptime 信息
        t 开关,在顶部显示 进程和CPU状态
        m 开关,在顶部显示 free 信息

        c 显示方式切换: 进程名/进程启动状态
        A 按进程启动顺序进行排序。由新到旧
        M 按内存占用排序。由大到小
        N 以进程ID排序。由大到小
        P 按CPU占用排序。由大到小
        T 按时间/累积时间排序

        f ,F 设定显示字段。设定完成后空格退出
        o,O 设定显示字段的排序。大写向前移动,小写向后移动,空格退出
        h,? 显示有关安全模式和累积模式的帮助信息
        W 把当前的配置写到~/.toprc中;

------------------------------------------------------------------------------------------------------------------------------------------

nohup <命令>
将任务提交到后台,输出附加到 ~/nohup.out 文件。即便用户退出登录,提交的命令仍继续执行。

<命令> &
背景执行此命令,如果用户退出登录,则命令停止执行

<命令1> ; <命令2> ; ......
命令队列,从左向右,依次执行以 ; 分隔的命令

<命令1> && <命令2> && ......
命令队列,从左向右,依次执行以 && 分隔的命令。前一个命令执行成功,后一个命令才能执行

<命令> <Ctrl+z>
<Ctrl+z> 挂起当前Shell中的任务

jobs
显示后台正在运行或被挂起的任务

bg [任务编号]    和fg的任务编号都是通过jobs查到的序号,不是pid
将挂起的任务背景执行

fg [任务编号]
将背景任务调到前台执行
posted @ 2011-03-28 11:58  Afeng28  阅读(495)  评论(0编辑  收藏  举报