linux 一些命令[下]

linux 一些命令[下]

ps 命令

ps命令⽤于报告当前系统的进程状态。可以搭配kill指令随时中断、删除不必要的程序。ps命令是最基本同时也是⾮常强⼤的进程查看命令,使⽤该命令可以确定有哪些进程正在运⾏和运⾏的状态、进程是否结束、进程有没有僵死、哪些进程占⽤了过多的资源等等,总之⼤部分信息都是可以通过执⾏该命令得到的。

常用组合

1. ps
	 PID TTY TIME CMD
   8683 pts/1 00:00:00 ps
   11641 pts/1 00:00:00 bash
	PID:进程的标识号
  TTY:进程所属的控制台号码
  TIME:进程使⽤CPU总的时间
  CMD:正在执⾏的命令⾏
  
2. ps -ef 
	UID PID PPID C STIME TTY TIME CMD
  root 1 0 0 1020 ? 00:14:31 /usr/lib/systemd/
  root 2 0 0 1020 ? 00:00:00 [kthreadd]
  root 3 2 0 1020 ? 00:00:44 [ksoftirqd/0]
  root 5 2 0 1020 ? 00:00:00 [kworker/0:0H]
  root 7 2 0 1020 ? 00:00:00 [migration/0]
  root 8 2 0 1020 ? 00:00:00 [rcu_bh]
  UID :由该⽤户执⾏的进程
  PID:进程的标识号
  PPID:进程的⽗进程标识号
  C:CPU使⽤的资源百分⽐
  STIME:进程开始的时间
  TTY:该进程是哪个终端上运⾏的,若⽆终端,显示?。tty1-tty6是本
  机的登录进程,pts/0等表示远程连接
  TIME:进程使⽤的CPU的时⻓
  CMD:正在执⾏的命令⾏
  
3.  ps aux
  USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND

  
  USER:该进程属于的⽤户
  PID:该进程号码
  %CPU:进程占⽤CPU的资源⽐率
  %MEM:该进程占⽤物理内存百分⽐
  VSZ:进程使⽤的虚拟内存,单位Kbytes
  RSS:该进程占⽤固定的内存量,单位Kbytes
  TTY:该进程运⾏的终端位置
  STAT:进程⽬前状态
      R:运⾏中
      S:终端睡眠中,可以被唤醒
      D:不可中断睡眠
      T:正在检测或是停⽌了
      Z:已停⽌,⽆法由⽗进程正常终⽌,变成了zombie僵⼫进程
      +:前台进程
      I:多线程进程
      N:低优先级进程
      <:⾼优先级进程
      s:进程领导者(含有⼦进程)
      L:锁定到内存中
  START:进程启动时间
  TIME:CPU运⾏时间
  COMMAND:进程命令
  
4. ps -u root # 显示 root 用户进程

pstree 命令

pstree指令⽤ASCII字符显示树状结构,清楚地表达程序间的相互关系。如果不指定程序识别码或⽤户名称,则会把系统启动时的第⼀个程序视为基层,并显示之后的所有程序。若指定⽤户名称,便会以⾪属该⽤户的第⼀个程序当作基层,然后显示该⽤户的所有程序。 使⽤ps命令得到的数据精确,但数据庞⼤,这⼀点对掌握系统整体概况来说是不容易的。pstree命令正好可以弥补这个缺憾。它能将当前的执⾏程序以树状结构显示。pstree命令⽀持指定特定程序(PID)或使⽤者(USER)作为显示的起始。

常用命令

# 需要安装, centos/red hat  yum install psmisc -y
1. pstree

2. pstree -u  root  # 查看root用户的执行程序

3. pstree -p 1390  # 查看父进程为 1390 的所有程序

pgrep命令

pgrep 是通过程序的名字来查询进程的⼯具,⼀般是⽤来判断程序是否正在运⾏。

常用命令

 1. pgrep ssh   # 找出ssh 相关的进程号
 2. pgrep -u root # 找出root用户相关的进程号
 3. pgrep -l nginx # 过滤 nginx 相关进程, 以及进程号

kill killall 和 pkill

kill 命令:发送指定的信号到相应进程。不指定信号将发送SIGTERM(15)终⽌指定进程。

参数:

-l <信号编号>,若不加信号的编号参数,则使⽤“-l”参数会列出全部的信号名

-a 当处理当前进程时,不限制命令名和进程号的对应关系

-p 指定kill 命令只打印相关进程的进程号,⽽不发送任何信号

-s 指定发送信号

-u 指定⽤户

常用命令

kill -9  pid  # 根据进程号杀掉进程

kill杀死进程需要获取进程的pid号,killall命令可以直接通过名字杀死

参数

OPTIONS (选项)

-e. 对于很⻓的名字, 要求准确匹配. 如果⼀个命令名⻓于 15 个字符, 则可能

-g 杀死属于该进程组的进程. kill 信号给每个组只发送⼀次, 即使同⼀进程

-i 交互⽅式,在杀死进程之前征求确认信息.

-l 列出所有已知的信号名.

-q 如果没有进程杀死, 不会提出抱怨.

-v 报告信号是否成功发送.

-V 显示版本信息.

-w 等待所有杀的进程死去. killall 会每秒检查⼀次是被杀的进程

常用命令

1.  killall nginx  # 杀死所有nginx的进程
2.  killall -u root nginx # 杀死所有root⽤户启动的nginx
3.  killall -w nginx  # 等待nginx 进程被全部杀死

pkill命令可以通过进程名终⽌指定的进程,对⽐killall杀死进程可能要执⾏多次,pkill可以杀死进程以及⼦进程

-f 显示完整程序

-l 显示源代码

-n 显示新程序

-o 显示旧程序

-v 与条件不符合的程序

-x 与条件符合的程序

-p<进程号> 列出⽗进程为⽤户指定进程的进程信息

-t<终端> 指定终端下的所有程序

-u<⽤户> 指定⽤户的程序

常用命令

1. pkill nginx  # 杀死nginx 所有进程
2. pkill -t pts/1 # 杀死 终端 pts/1 的所有进程 通过 w 命令查看终端
3. pkill -u root

: 上述命令慎用

top 命令

top命令⽤于实时的监控系统处理器状态,以及各种进程的资源占⽤情况。

还可以按照CPU的使⽤量、内存使⽤量进⾏排序显示,以及交互式的命令操作

参数

-b 批处理

-c 显示完整的治命令

-I 忽略失效过程

-s 保密模式

-S 累积模式

-d <时间> 设置间隔时间

-u <⽤户名> 指定⽤户名

-p <进程号> 指定进程

-n <次数> 循环显示的次数

交互式命令

在top执⾏过程中,输⼊⼀些指令,可以查看不同的结果

z:打开,关闭颜⾊
Z: 全局显示颜⾊修改
h:显示帮助画⾯,给出⼀些简短的命令总结说明;
k:终⽌⼀个进程;
i:忽略闲置和僵死进程,这是⼀个开关式命令;
q:退出程序;
r:重新安排⼀个进程的优先级别;
S:切换到累计模式;
s:改变两次刷新之间的延迟时间(单位为s),如果有⼩数,就换算成ms。输⼊
f或者F:从当前显示中添加或者删除项⽬;
o或者O:改变显示项⽬的顺序;
l:切换显示平均负载和启动时间信息;
m:切换显示内存信息;
t:切换显示进程和CPU状态信息;
c:切换显示命令名称和完整命令⾏;
M:根据驻留内存⼤⼩进⾏排序;
P:根据CPU使⽤百分⽐⼤⼩进⾏排序;
T:根据时间/累计时间进⾏排序;
w:将当前设置写⼊~/.toprc⽂件中。
B:全局字体加粗
数字1:⽤于多核监控CPU,监控每个逻辑CPU的情况
b:打开,关闭加粗
x,⾼亮的形式排序对应的列
< > :移动选择排序的列

用法案例

top -d 2  # 两秒更新一次
top -n 2  # 更新2次后退出

nohup 命令

nohup命令可以将程序已忽略挂起信号的⽅式运⾏起来,被运⾏程序的输出信息将不显示到终端。

常用命令

nohup ping baidu.com > nohup.out 2>&1 &   
# > nohup.out 这是一个输出重定向。它意味着ping命令的标准输出(即正常的输出信息)会被重定向到nohup.out这个文件中,而不是显示在终端上。
# 2>&1:这是另一个重定向。这里的2代表标准错误(即错误消息),&1表示“与标准输出(即1)相同的地方”。所以,这个重定向的意思是:将标准错误重定向到标准输出所指向的地方,即nohup.out文件。
# &:这个符号在命令的末尾表示将这个命令放到后台运行。这样,即使你关闭了终端,nohup和ping命令也会继续运行。

bg 命令

bg命令⽤于将作业放到后台运⾏,使前台可以执⾏其他任务。

该命令的运⾏效果与在指令后⾯添加符号 & 的效果是相同的,都是将其放到系统后台执⾏。

使用案例

1. ping baidu.com  # 启一个程序
2. 快捷键 ctrl + z # 暂停程序, 放入后台  可以通过jobs 查看后台停止的命令
3. bg 1  # 程序后台执行
3. fg 1  # 将后台停止/执行的程序 放到前台来执行

init 命令

init是Linux的进程初始化⼯具,是所有Linux进程的⽗进程,进程ID号是1。init命令的主要任务是根据配置⽂件 /etc/inittab 创建Linux进程

# 0 - 停机(千万不能把initdefault 设置为0 )

# 1 - 单⽤户模式

# 2 - 多⽤户,没有 NFS

# 3 - 完全多⽤户模式(标准的运⾏级)

# 4 - 没有⽤到

# 5 - X11 (xwindow)

# 6 - 重新启动 (千万不要把initdefault 设置为6 )

init 0 代表直接关机
init 6 代表重启

service 命令

service命令⽤于对系统服务管理,centos7已经⽤systemctl替代service命令⽤于对系统服务进⾏管理,⽐如启动(start)、停⽌(stop)、重启(restart)、重新加载配置(reload)、查看状态(status)等

service mysqld #打印指定服务mysqld的命令⾏使⽤帮助。
service mysqld start #启动mysqld
service mysqld stop #停⽌mysqld
service mysqld restart #重启mysqld
service mysqld reload #重新加载my.cnf配置⽂件
service nginx stop/start/restart/reload

systemctl 命令

常用命令

systemctl start <service>:启动指定的服务。
systemctl stop <service>:停止指定的服务。
systemctl restart <service>:重新启动指定的服务。
systemctl reload <service>:重新加载指定服务的配置文件,无需停止或重启服务。
systemctl status <service>:查询指定服务的状态。
systemctl enable <service>:启用指定的服务,使其在系统启动时自动运行。
systemctl disable <service>:禁用指定的服务,防止其在系统启动时自动运行。

htop 命令

htop就是⽐top更好⽤的⼯具, 可以自己调整 htop 的风格,界面也比 top 更好看

yum install htop -y

  1. 进⼊htop

  2. 按下setup,进⼊设置

  3. 上下左右,移动,状态栏会发⽣变化(空格键,更改⻛格)

  4. 按下回⻋键,可以选择添加表(meters)

  5. F10保存

  6. htop能够记忆⽤户的设置

快捷键

F1 - F10
M:按照内存使⽤百分⽐排序,对应MEM%列;
P:按照CPU使⽤百分⽐排序,对应CPU%列;
T:按照进程运⾏的时间排序,对应TIME+列;
K:隐藏内核线程;
H:隐藏⽤户线程;
#:快速定位光标到PID所指定的进程上。 
/:搜索进程名

glances命令

Glances 是⼀个由 Python 编写,使⽤ psutil 库来从系统抓取信息的基于curses 开发的跨平台命令⾏系统监视⼯具。glances 可以为 Unix 和 Linux 性能专家提供监视和分析性能数据的功能,

其中包括:

CPU 使⽤率

内存使⽤情况

内核统计信息和运⾏队列信息

磁盘 I/O 速度、传输和读/写⽐率

⽂件系统中的可⽤空间

磁盘适配器

⽹络 I/O 速度、传输和读/写⽐率

⻚⾯空间和⻚⾯速度

消耗资源最多的进程

计算机信息和系统资源

glances ⼯具可以在⽤户的终端上实时显示重要的系统信息,并动态地对其进⾏更新。这个⾼效的⼯具可以⼯作于任何终端屏幕。另外它并不会消耗⼤量的 CPU 资源,通常低于百分之⼆。glances 在屏幕上对数据进⾏显示,并且每隔两秒钟对其进⾏更新。您也可以⾃⼰将这个时间间隔更改为更⻓或更短的数值。glances ⼯具还可以将相同的数据捕获到⼀个⽂件,便于以后对报告进⾏分析和绘制图形。输出⽂件可以是电⼦表格的格式 (.csv) 或者 html 格式。

可以通过yum 和 pip 两种方式下载

# yum install glances -y  or pip install glances
glances 是⼀个命令⾏⼯具包括如下命令选项:
-b:显示⽹络连接速度 Byte/ 秒
-B @IP|host :绑定服务器端 IP 地址或者主机名称
-c @IP|host:连接 glances 服务器端
-C file:设置配置⽂件默认是 /etc/glances/glances.conf 
-d:关闭磁盘 I/O 模块
-e:显示传感器温度
-f file:设置输出⽂件(格式是 HTML 或者 CSV)
-m:关闭挂载的磁盘模块
-n:关闭⽹络模块
-p PORT:设置运⾏端⼝默认是 61209 
-P password:设置客户端 / 服务器密码
-s:设置 glances 运⾏模式为服务器
-t sec:设置屏幕刷新的时间间隔,单位为秒,默认值为 2 秒,数值许可范围:
-h : 显示帮助信息
-v : 显示版本信息

glances 交互命令

h : 显示帮助信息
q : 离开程序退出
c :按照 CPU 实时负载对系统进程进⾏排序
m :按照内存使⽤状况对系统进程排序
i:按照 I/O 使⽤状况对系统进程排序
p: 按照进程名称排序
d : 显示磁盘读写状况
w : 删除⽇志⽂件
l :显示⽇志
s: 显示传感器信息
f : 显示系统信息
1 :轮流显示每个 CPU 内核的使⽤情况(次选项仅仅使⽤在多核 CPU 系统)
glances运⾏web服务
1.安装python的包管理⼯具pip
	yum install python python-pip python-devel gcc -y
2.安装web模块,bottle
	pip install bottle
3.启动服务
	glances -w
	Glances web server started on http://0.0.0.0:61208/
也可以选择直接用 pip 下载glances[all], 会默认吧bottle 这些扩展模块下载下来
	pip install glances[all] 这个下载方式的优势,还可以解决 yum 下载的glances 和 pip 下载的bottle 版本不兼容问题。推荐使用
  # 如果不需要Web服务可以安装glances精简版
  pip install glances		

高级操作

1. web 页面端展示
	glances -w &   # 启动后就可以通过ip:61208 方式在浏览器上访问
2. 设置账户密码
	glances -w --username   
 	# 设置的glances密码储存在了配置文件里,如果看不到就提前创建好这个目录。cat .config/glances/admin.pwd 
 	# admin.pwd   admin 账户的密码文件,下次根据这个用户启动就可以了 glances -w --username  
3. 根据api文档,结合web 服务框架开发自动化运维服务 https://glances.readthedocs.io/en/latest/api.html

更多可以参考

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

go&Python

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值