zoukankan      html  css  js  c++  java
  • ubuntu进程管理方法(转)

    link:http://www.cnblogs.com/xinzaibing/archive/2012/03/24/2415434.html
    ps 显示当前进程
    ps -l 显示详细信息 
    ps -u 以用户的格式显示 

    相关字段说明
    F 进程状态标志 
    S 进程状态代码 
    UID 进程执行者ID 
    PPID 父进程标识(parent process ID) 
    PRI 进程执行的优先级(priority) 
    NI 进程执行优先级的nice值,负值表示其优先级较高 
    SZ 进程占用的内存大小 
    WCHAN 进程或系统调用等待时的地址
    %CPU cpu使用百分比 
    %MEM 内存使用百分比 
    VSZ 占用虚拟内存大小 
    RSS 占用物理内存大小 
    START 进程开始时间 


    kill 删除进程
    kill pid 删除指定pid的进程 
    kill -l 查看所有可供传送的信号 
    kill -9 pid 强制删除进程,传送的是SIGKILL信号 
    kill -15 pid 强制删除进程,传送的是SIGTERM信号 
    kill -HUP pid 重启Deamon进程 


    free 查看内存使用状态
    free -s 10 每10秒检查内存使用情况 
    nice 设置执行优先级,-20~19,19最低
    sudo nice –2 vi 将vi的优先级调为-2 
    renice 修改执行优先级,-20~19,19最低 


    top 动态显示进程
    按”P”键 按CPU使用时间排序 
    按”M”键 按内存使用多少排序 
    按”T”键 按执行时间多少排序 
    按”u”键 监视特定用户 
    按”K”键 删除进程 
    top -d 10 指定更新时间 
    lsof -p 查看进程打开的文件 
    jobs 命令查看后台作业

    ubuntu结束进程方法
    1、打开终端
    2、敲 ps -ef 查出进程的编号(就是PID那列)
    3、敲 kill PID (如果PID是123456,则kill 123456)
    4、OK了

    在本地Ubuntu Linux系统运行大软件的时候,或者服务器长时间运行后,由于有些设计有缺陷的软件,容易出现假死的情况!

    那程序假死了以后,我们该怎么办呢?其实这个 问题其实说简单也简单,直接结束进程不就OK了嘛!就像我们在Windows下面做的一样!下面来介绍几种Ubuntu Linux下面结束进程的几种方法!

    最安全杀死进程的方法
    杀死进程最安全的方法是单纯使用kill命令,不加修饰符,不带标志。
    首先使用ps -ef命令确定要杀死进程的PID,然后输入以下命令:

    #kill -pid
    注释:标准的kill命令通常都能达到目的。终止有问题的进程,并把进程的资源释放给系统。然而,如果进程启动了子进程,只杀死父进程,子进程仍在运行,因此仍消耗资源。为了防止这些所谓的“僵尸进程”,应确保在杀死父进程之前,先杀死其所有的子进程。
    还可以使用如下命令来确定要杀死进程的PID或PPID
    # ps -ef | grep httpd
    以最优雅的方式来结束进程
    # kill -l PID
    -l选项告诉kill命令用好像启动进程的用户已注销的方式结束进程。当使用该选项时,kill命令也试图杀死所留下的子进程。但这个命令也不是总能成功--或许仍然需要先手工杀死子进程,然后再杀死父进程。

    TERM信号
    给父进程发送一个TERM信号,试图杀死它和它的子进程。

    # kill -TERM PPID

    killall命令
    killall命令杀死同一进程组内的所有进程。其允许指定要终止的进程的名称,而非PID。

    # killall httpd
    停止和重启进程
    有时候只想简单的停止和重启进程。如下:

    # kill -HUP PID
    该命令让Linux和缓的执行进程关闭,然后立即重启。在配置应用程序的时候,这个命令很方便,在对配置文件修改后需要重启进程时就可以执行此命令。

    绝杀 kill -9 PID
    同意的 kill -s SIGKILL
    这个强大和危险的命令迫使进程在运行时突然终止,进程在结束后不能自我清理。危害是导致系统资源无法正常释放,一般不推荐使用,除非其他办法都无效。

    当使用此命令时,一定要通过ps -ef确认没有剩下任何僵尸进程。只能通过终止父进程来消除僵尸进程。如果僵尸进程被init收养,问题就比较严重了。杀死init进程意味着关闭系统。

    如果系统中有僵尸进程,并且其父进程是init,而且僵尸进程占用了大量的系统资源,那么就需要在某个时候重启机器以清除进程表了

  • 相关阅读:
    理解区块链背后的Merkle Tree
    黑科技!当会爬虫的Python遇上会画图的FineBI……
    PlayFramework 1.x 生产环境部署 源码编译
    特别推荐:系统性能提升优先法宝 | 缓存应用实践
    Python爬虫入门教程 38-100 教育部高校名单数据爬虫 scrapy
    BI分析工具选型:从PowerBI到FineBI的9个理由!
    集群的定义以及类别定义
    python cx_oracle 绑定变量
    [故障解决]图文:windows apache无法启用 端口被占用
    设计模式之抽象工厂模式
  • 原文地址:https://www.cnblogs.com/tangtianfly/p/2815134.html
Copyright © 2011-2022 走看看