文章目录
- kill终止进程
- pstree查看进程树
- netstat网络状态和端口占用信息
- crontab定时任务
进程(process): 是正在执行的一个程序或命令,每一个进程都是一个运行的实体,都有自己的地址空间,并占用一定的系统资源
服务(service):启动之后一直存在,常驻内存的进程,一般被叫做服务
ps 查看当前系进状态
ps process status 进程状态
基本用法
ps aux
查看系统中所有的进程ps -ef
可以查看父子进程之间的关系
选项 | 功能 |
---|---|
a | 列出带有中终端的所有用户的进程 |
x | 列出当前用户的所有进程,包括没有终端的进程 |
u | 面向用户友好的显示风格 |
-e | 列出所有进程 |
-f | 显示完整格式的进程列表 |
-u | 列出和某个用户关联的所有进程 |
使用ps 查看进程时,通常需要搭配
|、 grep
用来过滤自己想要的一些内容
USER :进程的所属用户,
PID :进程的进程ID号,
%CPU :进程占用的 CPU资源 百分比,
%MEM :进程占用的 物理内存 百分比,
VSZ :进程使用掉的虚拟内存量 (Kbytes) ,
RSS :进程占用的固定的内存量 (Kbytes) ,
TTY :与进程相关联的终端(tty),?代表无关,tty1-tty6是本机上面的登入者程序,pts/0表示为由网络连接进主机的程序。
STAT :进程的状态
START :进程开始创建的时间 ,
TIME :进程使用的总cpu时间,
COMMAND : 进程对应的实际程序。
查看sshd
服务
ps aux | grep sshd
kill终止进程
kill [选项] 进程号 通过进程号杀死进程
killall [选项]进程名 通过进程名杀死进程 也支持通配符
选项 | 作用 |
---|---|
-9 | 表示强制进程立刻停止 |
杀死另一个root远程登录的进程
现在图中有两个远程登录的进程,我们要杀死其中一个远程的进程
# 杀死进程号为4962的进程
kill 4962
pstree查看进程树
基本用法
pstree [选项]
选项 | 作用 |
---|---|
-p | 显示进程的PID |
-u | 显示进程的所属用户 |
查看基础的进程树
pstree
显示进程id
pstree -p
过滤查看和sshd相关的进程
pstree -p | grep sshd
top实时监控系统进程状态
基本命令:
top [选项]
选项 | 功能 |
---|---|
-d | 每隔几秒更新,默认是3秒 |
-i | 使用top不显示任何显示或僵死的进程 |
-p | 通过指定进程ID来仅仅监控某个进程的状态 |
执行top命令后按对应的字母的操作
操作 | 功能 |
---|---|
监控状态
top
netstat网络状态和端口占用信息
netstat [选项]
常用用法
netstat -anp | grep 进程号
查看该进程的网络信息netstat -nlp | grep 端口号
查看网络端口号占用情况
选项 | 功能 |
---|---|
-a | 显示所有正在监听和未监听的套接字 |
-n | 拒绝显示别名,能显示数字的全部转换成数字 |
-l | 仅列出在监听的服务状态 |
-p | 表示显示那个进程在调用 |
查看sshd的网络情况
netstat -anp |grep sshd
crontab定时任务
使用crontab定时任务crond服务必须启动
基本用法
crontab [选项]
选项 | 功能 |
---|---|
-e | 编辑crontab定时任务 |
-l | 查询crontab任务 |
-r | 删除当前用户的所有crontab任务 |
查看crond服务是否启动
systemctl status crond
如果没有启动可以使用
systemctl start crond
编辑定时任务
进入vim编辑器,编辑需要完成的任务
crontab -e
编辑的格式
分 时 日 月 周 执行的任务
前面的时间可以根据自己的情况进行选择使用,
特殊符号 | 含义 |
---|---|
* | 任何时间 |
, | 代表不连续的时间 |
- | 代表连续的时间范围 |
*/n | 每隔多久执行一次 |
举例
- 每天12点30分执行命令
30 12 * * *
- 每天的8点,10点执行命令
0 8.12 * * *
- 每周一 的10点40执行命令
40 10 * * 1
- 每月的10号-20号 15点20执行命令
20 15 10-20 * *
- 每隔10分钟执行一遍
*/10 * * * *
实例
每隔一分钟向一个指定的文件里面写入一句话
*/1 * * * * echo "hello linux" >> /root/hello.txt
查看定时任务
crontab -l
清空定时任务
crontab -r