• Linux基础进程管理


    一、进程

    了解如进程的:
    • PID,PPID
    • 当前的进程状态
    • 内存的分配情况
    • CPU和已花费的实际时间
    • 用户UID,他决定进程的特权

    (一)、静态查看进程

    # ps axu | less
    USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
    root         1  0.0  0.6 129128  6468 ?        Ss   19:09   0:02 /usr/lib/systemd/systemd --switched-root --system --deserialize 21
    root         2  0.0  0.0      0     0 ?        S    19:09   0:00 [kthreadd]
    root         3  0.0  0.0      0     0 ?        S    19:09   0:00 [ksoftirqd/0]
    root         5  0.0  0.0      0     0 ?        S<   19:09   0:00 [kworker/0:0H]
    root         6  0.0  0.0      0     0 ?        S    19:09   0:00 [kworker/u2:0]
    root         7  0.0  0.0      0     0 ?        S    19:09   0:00 [migration/0]

    USER: 运行进程的用户
    PID: 进程ID
    %CPU: CPU占用率
    %MEM: 内存占用率
    VSZ: 占用虚拟内存
    RSS: 占用实际内存 驻留内存
    TTY: 进程运行的终端
    STAT: 进程状态 man ps (/STATE)
    R 运行
    S 可中断睡眠 Sleep
    D 不可中断睡眠 (usually IO)
    T 停止的进程
    Z 僵尸进程
    X 死掉的进程

    Ss s进程的领导者,父进程
    S< <优先级较高的进程
    SN N优先级较低的进程
    R+ +表示是前台的进程组
    Sl 以线程的方式运行
    START: 进程的启动时间
    TIME: 进程占用CPU的总时间
    COMMAND: 进程文件,进程名

    示列1:

    # ps aux --sort %cpu |less        //排序打印
    # ps aux --sort -%cpu | less        //倒序打印
    # ps aux --sort  rss | less
    # ps aux --sort -rss | less

    示列2:

    # ps auxf |grep vsftp     //指定查找某写指定的程序
    root      1143  0.0  0.0  53212    92 ?        Ss   07:57   0:00 /usr/sbin/vsftpd /etc/vsftpd/vsftpd.conf
    root     14497  0.0  0.0 112676   980 pts/4    S+   21:33   0:00  |       \_ grep --color=auto vsftp

    示列3:

    # ps axo user,pid,ppid,%mem,command | grep vsftp      //自定义显示字段及程序服务
    root      1143     1  0.0 /usr/sbin/vsftpd /etc/vsftpd/vsftpd.conf
    root     14668 11675  0.0 grep --color=auto vsftp
    
    # ps axo user,pid,ppid,%mem,command       //自定义显示字段
    USER       PID  PPID %MEM COMMAND
    root         1     0  0.0 /usr/lib/systemd/systemd --switched-root --system --deserialize 21
    root         2     0  0.0 [kthreadd]
    root         3     2  0.0 [ksoftirqd/0]
    root         5     2  0.0 [kworker/0:0H]
    root         7     2  0.0 [migration/0]
    root         8     2  0.0 [rcu_bh]
    root         9     2  0.0 [rcu_sched]

    示列4:

    查看指定的进程PID

    # cat /run/sshd.pid       //指定进程的PID,
    1150
    
    # ps aux | grep sshd
    root      1150  0.0  0.0 105996  1276 ?        Ss   07:57   0:00 /usr/sbin/sshd -D
    root     11665  0.0  0.0 147864  3880 ?        Ss   19:26   0:00 sshd: root@pts/4
    root     13025  0.5  0.2 151592  8988 ?        Ss   20:33   0:24 sshd: root@pts/3
    root     14749  0.0  0.0 112680   984 pts/4    S+   21:50   0:00 grep --color=auto sshd

    查看进程树:

    # pstree
    systemd─┬─ModemManager───2*[{ModemManager}]
            ├─2*[abrt-watch-log]
            ├─abrtd
            ├─accounts-daemon───2*[{accounts-daemon}]
            ├─alsactl
            ├─at-spi-bus-laun─┬─dbus-daemon
            │                 └─3*[{at-spi-bus-laun}]
            ├─at-spi2-registr───2*[{at-spi2-registr}]
            ├─atd
            ├─auditd─┬─audispd─┬─sedispatch
            │        │         └─{audispd}
            │        └─{auditd}

    (二)、动态查看

    # top
    # top -d 1
    # top -d 1 -p 10126                        //查看指定进程的动态信息
    # top -d 1 -p 10126,1
    # top -d 1 -u apache                        //查看指定用户的进程
    # top -d 1 -b -n 2 > top.txt             //将2次top信息写入到文件

    第一部分:系统整体统计信息

    top - 14:15:04 up 47 min,  2 users,  load average: 0.25, 0.18, 0.12
    Tasks: 235 total,   1 running, 234 sleeping,   0 stopped,   0 zombie
    Cpu(s):  8.9%us,  1.0%sy,  0.0%ni, 90.1%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%st
    Mem:   7944064k total,   746164k used,  7197900k free,    35724k buffers
    Swap:  1048568k total,        0k used,  1048568k free,   261492k cached

      load average: 0.86, 0.56, 0.78 CPU最近 1分钟5分钟15分钟平均负载

    第二部分:进程信息

    命令
    h|?帮助
    M    按内存的使用排序
    P    按CPU使用排序
    N    以PID的大小排序
    R    对排序进行反转
    f    自定义显示字段
    1    显示所有CPU的负载
    
    <    向前
    >    向后
    z    彩色
    W 保存top环境设置 ~/.toprc

    二、信号控制

    (一)、发送信号

    # kill -l                        //列出所有支持的信号
    编号 信号名
    1) SIGHUP         重新加载配置  PID不变
    2) SIGINT            键盘中断^C
    3) SIGQUIT       键盘退出
    9) SIGKILL            强制终止
    15) SIGTERM        终止(正常结束),缺省信号
    18) SIGCONT        继续
    19) SIGSTOP        停止
    20)SIGTSTP      暂停^Z
  • 相关阅读:
    Squid-Squid 多层Cache 如何设置实现墙内直连,墙外域名走国外Proxy
    利用win2008虚拟化hyper-v 和squid反向代理,自己做个IDC
    再次分享 pyspider 爬虫框架
    刘宇:我如何5分钟拿到李书福的投资?
    刘宇:2014年投资感悟
    刘宇(正和磁系资本创始人)_百度百科
    python编写的自动获取代理IP列表的爬虫-chinaboywg-ChinaUnix博客
    采集爬虫中,解决网站限制IP的问题?
    Web 应用性能和压力测试工具 Gor
    dnspod-sr内网轻量级DNS首选方案
  • 原文地址:https://www.cnblogs.com/sky-k/p/9398774.html
Copyright © 2020-2023  润新知