linux 进程

linux 进程查询、服务管理

简介

linux 中每个执行的程序(代码)都称为一个进程,每一个进程都分配一个 ID

  • 每一个进程都有一个对应的一个父进程,而这个父进程可以复制多个子进程
  • 进程存在的方式分为前台、后台
  • 系统服务一般都都常驻后台,直到关机

查看进程

在 shell 中输入 ps -aux

USER        PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root          1  0.0  0.1 194120  7240 ?        Ss   00:06   0:14 /usr/lib/systemd/systemd --switched-root --system --deserialize 22
root          2  0.0  0.0      0     0 ?        S    00:06   0:00 [kthreadd]
root          3  0.0  0.0      0     0 ?        S    00:06   0:02 [ksoftirqd/0]
root          4  0.0  0.0      0     0 ?        S    00:06   0:01 [kworker/0:0]
...
描述
USER 进程所属用户
PID 进程 ID
%CPU CUP 占比
%MEM 运存占比
VSZ 虚拟内存使用量 KB
RSS 内存使用量 KB
TTY 终端名称缩写
STAT 状态:S-休眠, R-运行, D-短暂等待, Z-僵死, N-优先级比“普通”还低, T-被追踪或被停止
START 启动时间
TIME 使用 CUP 总计时间
COMMAND 执行进程的命令行和参数

终止进程

kill [pid] 指令可以结束指定 PID 的进程,要强制结束使用 -9 参数

killall [pname] 结束指定名称的进程,支持通配符 *

服务

服务(service)的本质是运行在后台的进程,通常会监听某个端口。服务又称守护进程

指令 描述
service srv start
service srv stop
service srv restart
service srv reload
service srv status

centOS7 不再使用 service ,而使用 systemctl

linux 中每个运行级别里服务启动与否是单独设置的

在 shell 中输入 chkconfig 查看服务的在各个运行级别的启动情况

注:该输出结果只显示 SysV 服务,并不包含
原生 systemd 服务。SysV 配置数据
可能被原生 systemd 配置覆盖。 

      要列出 systemd 服务,请执行 'systemctl list-unit-files'。
      查看在具体 target 启用的服务请执行
      'systemctl list-dependencies [target]'。

netconsole         0:关    1:关    2:关    3:关    4:关    5:关    6:关
network            0:关    1:关    2:开    3:开    4:开    5:开    6:关
vmware-tools       0:关    1:关    2:开    3:开    4:开    5:开    6:关
vmware-tools-thinprint    0:关    1:关    2:开    3:开    4:开    5:开    6:关

输入 chkconfig [–level n] srvname on|off 来设置某服务是否启动,可以为某个运行级别指定是否启动

在 shell 中输入 setup 可以进入图形设置界面

动态监控进程

在 shell 中输入 top [-d n] ,可指定刷新频率,默认是 3s 刷新一次

top - 21:35:00 up 21:28,  2 users,  load average: 0.00, 0.01, 0.05
Tasks: 314 total,   1 running, 313 sleeping,   0 stopped,   0 zombie
%Cpu(s):  0.0 us,  0.0 sy,  0.0 ni, 99.9 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
KiB Mem :  3863536 total,   730276 free,  1088456 used,  2044804 buff/cache
KiB Swap:  2097148 total,  2097148 free,        0 used.  2418308 avail Mem 

   PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND                                                           
  2024 mysql     20   0 1117304 182312   5416 S   0.3  4.7   2:12.34 mysqld                                                            
  2646 zhulu     20   0 4193212 213284  57192 S   0.3  5.5   0:58.54 gnome-shell                                                       
  7044 root      20   0       0      0      0 S   0.3  0.0   0:53.46 kworker/1:1                                                       
 19592 root      20   0  162104   2456   1584 R   0.3  0.1   0:01.94 top                                                               
     1 root      20   0  194120   7276   4196 S   0.0  0.2   0:16.42 systemd                                                           
     2 root      20   0       0      0      0 S   0.0  0.0   0:00.13 kthreadd                                                          
     3 root      20   0       0      0      0 S   0.0  0.0   0:02.73 ksoftirqd/0                                                       
     4 root      20   0       0      0      0 S   0.0  0.0   0:01.79 kworker/0:0                                                       
     ...

信息解读

top: 当前时间是 21:35:00 , 系统开机运行了 21:28 , 2 个用户处于登录状态 , 负载均衡 0.00 0.01 0.05
Tasks: 共 314 个任务 , 1 个在运行 , 313 个在休眠 , 0 个已停止 , 0 个僵死
%Cpu(s): 用户占用 0.0% , 体统占用 0.0% , 0.0 ni , 空闲 99.9% 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
KiB Mem: 运存使用情况
KiB Swap: 交换区使用情况

当前界面是可以交互的

输入 P 进程按 CPU 使用率排序
输入 M 进程按内存使用率排序
输入 N 进程按 PID 使用率排序
输入 u 再输入用户名过滤对应用户的进程
输入 k 再输入 PID 可以杀死指定进程
输入 q 或 CTRL + C 退出 top

The End

Comments

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×