linux进程管理

linux之进程管理详解

 |-进程管理
    
    进程常用命令
    
    |- w查看当前系统信息
    
    |- ps进程查看命令
    
    |- kill终止进程
    
    |- 一个存放内存中的特殊目录/proc
    
    |- 进程的优先级
    
    |- 进程的挂起与恢复
    
    |- 通过top命令查看进程
    
    计划任务
    
    |- 计划任务的重要性
    
    |- 一次性计划at和batch
    
    |- 周期性计划crontab

    

常用进程命令
    
    w 查看当前系统信息
    
    w命令,我在之前的章节用曾用过,当时是查看当前用户信息,当然也可以查看到系统相关的信息。
    
    作用:查看当前系统活动摘要。
    
    [root@bogon cron]# w
    
    14:48:39 up 2:46, 1 user,     load average: 0.00,   0.01,   0.00
    
    USER     TTY       FROM             LOGIN@     IDLE   JCPU   PCPU WHAT
    
    root       pts/1    192.168.203.1 12:27      0.00s   0.17s   0.02s w
    
    w显示信息的含义:
    
    JCPU:     以终端代号来区分,该终端所有相关的进程的进程执行时,所消耗的CPU时间会显示在这里
    
    PCPU:   cpu执行程序消耗的时间
    
    WHAT:    用户下在执行的操作
    
    load average :分别显示系统在过去1、5、15分钟内的平均负载程度。
    
    FROM:  显示用户从何处登录系统,":0"的显示代表该用户时人X Windows下,打开文本模式窗口登录的
    
    IDLE:   用户闲置的时间,这是一个计时器,一旦用户执行任何操作,该计时器便会被重置
    
    查看个别用户信息:w [用户名]
    
    [root@localhost ~]# w root
    
    23:32:01 up 52 min, 1 user, load average: 0.00, 0.00, 0.00
    
    USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
    
    root pts/1 192.168.203.1 22:53 0.00s 0.10s 0.01s w rootps进程查看命令
    


    进程查看命令:ps
    
    常用选项:
    
    -a:显示所有用户的进程
    
    -u:显示用户名和启动时间
    
    -x:显示 没有控制终端的进程
    
    -e:显示所有进程,包括没有控制终端的进程
    
    -l:长格式显示
    
    -w:宽行显示,可以使用多个w进行加宽显示

  应用实例:
    
    ps 查看隶属自己的进程
    
    root@fnngj-virtual-machine:~# ps
    
    PID TTY TIME CMD
    
    1370 pts/0 00:00:00 bash
    
    3185 pts/0 00:00:00 ps
    
    root@root:~# ps -l
    
    F S    UID  PID     PPID    C   PRI   NI   ADDR   SZ     WCHAN     TTY      TIME      CMD
    
    4 S    0     5941   5801   4   80    0   -       1882   wait      pts/2    00:00:00     bash
    
    4 R    0     6000   5941   0   80    0   -       1121    -         pts/2    00:00:00     ps
    
    看一下上面的选项都指的什么
    
    PID :      进程号
    
    PPLD:   父进程的进程号
    
    TTY :    进程启动的终端
    
    STAT :  进程当前状态(S休眠状态,D不可中断的休眠状态,R运行状态,Z僵死状态,T停止)
    
    NI :        进程优先级
    
    TIME:     进程自从启动以后启用CPU的总时间
    
    COMMAND/CMD:进程的命令名
    
    USER:    用户名
    
    %CPU:   占用CPU时间和总时间的百分比
    
    %MEM:  占用内存与系统内存总量的百分比
    
    实列:
    
    ps -u or -l 查看隶属于自己进程详细信息
    
    root@root:~# ps -u or -l
    
    ps -le or -aux 查看所有用户执行的进程的详细信息
    
    root@root:~# ps le or -aux
    
    ps -aux --sort pid 可按进程执行的时间、PID、UID等对进程进行排序
    
    root@root:~# ps -aux --sort pid
    
    ps -uU fnngj 查看某个用记启动的进程
    
    root@root:~# ps -uU fnngj
    
    ps -le | grep init 查看指定进程信息
    
    root@root:~# ps -le | grep init
      kill终止进程
    
    在winddow下面,我们要结束一个进程,最简单的方式就是关闭这个程序,相应的进程也会随之结束,遇到不能关闭的情况。会打开任务管理器结果掉。那么在linux下如果做呢?我们可以使用kill命令来终止进程。

kill -l 显示所有kill命令编号的代表含义  其中9 代表KILL

  kill -s 9 [进程号]  (强行关闭)
    
    kill -9   [进程号]  (强行关闭)
    
    上面的两种形式都可以强行关闭进程。
    
    重启进程:
    
    有时候我们需要把进程重新启动一下,可以下面的命令完成。
    
    kill -1  [进程号]  (重启进程)
    
    root@root:~# kill -1 3567    重启PID为3567的进程
    
    关闭图形程序:
    
    关闭图形程序: xkill
    
    当你在终端下输入这个命令时,你的鼠标会变成一个小叉子,你只去点你想要关闭的窗口就可以关闭了
    
    其它:
    
    结束所有进程:    killall
    
    查找服务进程号: pgrep  [服务名称]
    
    关闭进程:          pkill    [进程名称]
    通过top命令查看进程
    
    top命令与前面介绍的ps命令相似,已经介绍了ps,为什么还要top?top有它自己的优点呢。它比ps显示的信息更详细。而且是动态的噢,信息是在不断变化的噢!
    
    [root@bogon ~]# top

    常用选项:
    
    d :   指定刷新的时间间隔
    
    c :     显示整个命令而不仅仅显示命令名
    
    在命令运行的时候按键盘d,会出现如下提示要求你输入刷新的间隔时间
    
    Change delay from 3.0 to: 10(秒)
    
    常用命令:
    
    u :   查看指定用户的进程
    
    k :   终止执行中的进程
    
    h or ?   获得帮助
    
    r:      重新设定进程优先级
    
    s:    改变刷新的时间间隔
    
    W:  将当前设置写入~/.toprc文件中
    
    这里不细讲了,感兴趣的可以用  man top  命令查看top的详细帮助。

[root@bogon ~]# at now+5 minutes
    
    at>
    
    我们定的时间是5分钟之后,现在可以在at下面输入各种任务,保存!5分钟之后执行;不过,我们需要注意,在用命令时最好写命令的绝对路径,为了安全。
    
    [root@bogon ~]# at now+5 minutes
    
    at> /usr/bin/wall < /etc/motd    做一个广播,把etc/motd 文件广播出去
    
    at>                   可以继续写其它的计划
    
    at> <EOT>
    
    job 2 at 2012-05-20 13:43      ctrl+d保存计划并退出
    
    是否还担心我们的计划是否启动,通过下面两个命令查看at进程是否正常启动
    
    [root@bogon test]# at -l
    
    3 2012-05-20 13:57 a root
    
    [root@bogon test]# atq
    
    3 2012-05-20 13:57 a root
    
    如果真的没有启动的话,可以通过手工方式重新启动一下
    
    [root@bogon ~]# /etc/rc.d/init.d/atd start
    
    删除at计划任务
    
    [root@bogon test]# at -d
    
    查看at计划任务
    
    [root@bogon test]# ls /var/spool/at/
    

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值