目录
基本介绍:
查看正在执行的进程:
(1)查看进程的第一种方式: ps -aux
ps命令用于查看系统中的进程状态,英文全称为:“processes”,语法格式为:“ps [参数]”。
ps命令用于报告当前系统的进程状态。可以搭配kill指令随时中断、删除不必要的程序。ps命令是最基本同时也是非常强大的进程查看命令,使用该命令可以确定有哪些进程正在运行和运行的状态、进程是否结束、进程有没有僵死、哪些进程占用了过多的资源等等,总之大部分信息都是可以通过执行该命令得到的。
a:显示当前终端下的所有进程信息,包括其他用户的进程。
u:使用以用户为主的格式输出进程信息。
x:显示当前用户在所有终端下的进程。
组合指令:ps -aux /ps aux (ps aux 是以简单列表的形式显示出进程信息)
说明:如前面所提到的,在Linux系统中的命令参数有长短格式之分,长格式和长格式之间不能合并,长格式和短格式之间也不能合并,但短格式和短格式之间是可以合并的,合并后仅保留一个-(减号)。另外ps命令可允许参数不加减号(-),因此可直接写成ps aux的样子。
ps -aux 后的结果图解释:
上图中各字段解释:
USER:启动该进程的用户账号名称
PID:该进程的ID号,在当前系统中是唯一的
%CPU:CPU占用的百分比
%MEM:内存占用的百分比
VSZ:占用虚拟内存(swap空间)的情况
RSS:占用物理内存(物理内存)的情况
TTY:该进程在哪个终端上运行。“?”表未知或不需要终端
STAT(state:状态):显示了进程当前的状态,如S(休眠)、R(运行)、Z(僵死)、<(高优先级)、N(低优先级)、s(父进程)、+(前台进程)。对处于僵死状态的进程应予以手动终止。
START:启动该进程的时间
TIME:该进程占用CPU时间
COMMAND:启动该进程的命令的名称,如果过长会被截断。
PPID:为父进程的PID。
总结:ps aux 是以简单列表的形式显示出进程信息。
ps指令详解:
grep为过滤
如: ps -aux |grep sshd
(2)查看进程的第二种方式: ps -ef
使用 ps -ef 或者
ps -elf
常用指令:ps -ef|more
ps -ef | grep sshd
-e:显示系统内的所有进程信息。
-l:使用长(long)格式显示进程信息。
-f:使用完整的(full)格式显示进程信息。
第四种:
pstree -aup
可以带上|grep 查询特定进程。例如 pstree -aup | grep php
以树状图的方式展现进程之间的派生关系,显示效果比较直观。
-a:显示每个程序的完整指令,包含路径,参数或是常驻服务的标示;
-c:不使用精简标示法;
-G:使用VT100终端机的列绘图字符;
-h:列出树状图时,特别标明现在执行的程序;
-H<程序识别码>:此参数的效果和指定"-h"参数类似,但特别标明指定的程序;
-l:采用长列格式显示树状图;
-n:用程序识别码排序。预设是以程序名称来排序;
-p:显示程序识别码;
-u:显示用户名称;
父子进程
当我们登录了Xshell后,我们运行指令:ps -ef | grep sshd
终止进程:kill -9 进程号 /killall 进程名称
终止进程:kill 进程号
强制终止进程:kill -9 进程号
查看进程的第三种方法:pstree(查看进程树)
pstree -p :带进程号
pstree -u :带用户名的
pstree -up :带用户名和进程号
pstree -aup
可以带上|grep 查询特定进程。例如 pstree -aup | grep php
以树状图的方式展现进程之间的派生关系,显示效果比较直观。
-a:显示每个程序的完整指令,包含路径,参数或是常驻服务的标示;
-c:不使用精简标示法;
-G:使用VT100终端机的列绘图字符;
-h:列出树状图时,特别标明现在执行的程序;
-H<程序识别码>:此参数的效果和指定"-h"参数类似,但特别标明指定的程序;
-l:采用长列格式显示树状图;
-n:用程序识别码排序。预设是以程序名称来排序;
-p:显示程序识别码,即进程号;
-u:显示用户名称;
查看进程树 pstree
服务管理(service):
介绍:
service 服务名 [start | stop | restart | reload | status] 在CentOS7.0后 不再使用service ,而是 systemctl
管理指令如下:
案例:使用 service指令,查看关闭启动网络network:
以下指令请在vm界面操作,不要在xshell操作。
查看网络状态:service network status
停止网络服务:service network stop
重启网络服务:service network start 或者将start换成restart
查看服务名称:setup
方式一:
1.终端输入setup
2.系统服务
3.上下键选择启动的服务项
4.空格键选中
5.tab键选择确认或者取消,然后enter键确定
如选中系统服务:进入如下:
前面【*】中的星号代表自动启动,如果不想自动启动,空格以下,取消自动启动。
查看服务名的方式二:
在目录 /etc/init.d 看到service指令管理的服务 ls -l /etc/init.d
服务的运行级别(runlevel)
(1)运行级别的查看和设置:
使用命令:
查看当前运行级别: systemctl get-default
设置默认的运行级别为控制台:systemctl set-default multi-user.target
设置默认的运行级别为图形界面:systemctl set-default graphical.target
给不同的运行级别设置不同的自启动/关闭:chkconfig
chkconfig --list :查看服务
案例:1:查看服务 chkconfig --list
案例2:设置运行级别的自启动:chkconfig --level 3 network on
服务管理:systemctl(服务管理指令)
查看防火墙的名称:
指令案例:
设置服务的自启动状态:
systemctl list-unit-files | grep firewalld :查看服务开机启动状态
systemctl enable firewalld :设置防火墙开机启动
systemctl disable firewalld :关闭防火墙服务开机启动
如: systemctl is-enabled firewalld :查看防火墙是否自启动
查看当前防火墙状态:systemctl status firewalld
临时关闭防火墙:systemctl stop firewalld
常用命令:临时关闭防火墙(重启后此命令失效):systemctl stop firewalld
永久关闭防火墙:(重启也有效):systemctl disable firewalld
永久开启防火墙:(重启也有效):systemctl enable firewalld
打开或者关闭指定端口 (firewall)
查看已开启的所有端口:firewall-cmd --list-ports
查询指定端口是否开放:firewall-cmd --query-port=8083/tcp
打开端口8083:firewall-cmd --permanent --add-port=8083/tcp
重新载入,才能生效:firewall-cmd --reload
关闭端口:firewall-cmd --permanent --remove-port=8083/tcp
(3)查看进程的第三种方式 :top(动态监控进程)
top命令经常用来监控linux的系统状况,是常用的性能分析工具,能够实时显示系统中各个进程的资源占用情况。
top的使用方式 top [-d number] | top [-bnp]
参数解释:
-d:number代表秒数,表示top命令显示的页面更新一次的间隔。默认是5秒。 -b:以批次的方式执行top。 -n:与-b配合使用,表示需要进行几次top命令的输出结果。 -p:指定特定的pid进程号进行观察。
在top命令显示的页面还可以输入以下按键执行相应的功能(注意大小写区分的):
?:显示在top当中可以输入的命令 P:以CPU的使用资源排序显示 M:以内存的使用资源排序显示 N:以pid排序显示 T:由进程使用的时间累计排序显示 k:给某一个pid一个信号。可以用来杀死进程 r:给某个pid重新定制一个nice值(即优先级) q:退出top(用ctrl+c也可以退出top)。
top类似于我们的windows的任务管理器:实时变化
top指令后的截图及说明:
第2行:Tasks: 159 total, 1 running, 158 sleeping, 0 stopped, 0 zombie
第3行:%Cpu(s): 37.0 us, 3.7 sy, 0.0 ni, 59.3 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
第2、3行为进程和CPU的信息
当有多个CPU时,这些内容可能会超过两行,其参数如下:
第4行:KiB Mem: 1530752 total, 1481968 used, 48784 free, 70988 buffers
第5行:KiB Swap: 3905532 total, 267544 used, 3637988 free. 617312 cached Mem
第4、5行为内存信息
其参数如下:
动态监控top的交互使用
监控网络状态:netstat -anp
案例:
netstat -anp | grep sshd