目录
- 前言
- 进程介绍和查询
- 进程基本介绍
- 显示系统执行的进程
- 终止进程
- 服务管理
- 监控服务
- 动态监控进程
- 监控网络状态
- 结语
前言
本篇博客总结linux中的进程管理相关知识,主要有进程介绍,终止进程,服务管理以及监控服务,一起来看看吧!
进程介绍和查询
进程基本介绍
在 LINUX 中,每个执行的程序(代码)都称为一个进程,每一个进程都分配个 ID 号。
每一个进程,都会对应一个父进程,而这个父进程可以有多个子进程。
每个进程都可能以两种方式存在的。前台与后台,所谓前台进程就是用户目前的屏幕上可以进行操作的。后台进程则是实际在操作,但由于屏幕上无法看到的进程,通常使用后台方式执行。
一般系统的服务都是以后台进程的方式存在,而且都会常驻在系统中。直到关机才结束。
显示系统执行的进程
ps 命令是用来查看目前系统中,有哪些正在执行,以及它们执行的状况。
可以不加任何参数!
ps -a #显示当前终端的所有进程信息 ps -u #以用户的格式显示进程信息ps -x #显示后台进程运行的参数
ps -ef # 以全格式显示当前所有的进程,查看进程的父进程
-e 显示所有进程; -f 全格式
终止进程
若是某个进程执行一半需要停止时,或是已消了很大的系统资源时,此时可以考虑停止该进程。使用 kill 命令来完成此项任务。
基本语法:
kill[选项]进程号 #(功能描述,通过进程号杀死进程)killall 进程名称 #(功能描述,通过进程名称杀死进程,也支持通配符,这在系统因负载过大而变得很慢时很有用)
常用选项:
-9:表示强迫进程立即停止最佳实践:
案例:终止远程登录服务 sshd
至于 killall 进程名称
可以填父进程名称,会将它下面的子进程都杀掉!
服务管理
CentOS7启用了新的系统和服务管理器,采用systemctl命令代替了老版本的service和chkconfig。为了保持兼容性,在CentOS7中,老版本的service和chkconfig命令仍然可以使用。systemctl命令是system(系统)和control(控制)两个单词的简写,它是一个功能强大的命令,只是systemctl命令有一点不足,就是很多命令执行后没有提示信息!
1、启动服务
systemctl start name.service
注意name.service的.service可以省略不写,以下两条命令的效果相同。
systemctl start vsftpd # 启动ftp服务。systemctl start vsftpd.service # 启动ftp服务。
2、停止服务
systemctl stop name.service
3、重启服务
如果服务没有启动,就启动它。
systemctl restart name.service
4、查看服务是否已启动
systemctl is-active name.service
5、查看服务的状态
systemctl status name.service
6、启用开机自启动服务
systemctl enable name.service
7、停用开机自启动服务
systemctl disable name.service
8、查看服务是否为开机自启动
systemctl is-enabled name.service
这个服务管理我就不写案例了,操作防火墙,搭建ftp服务器是都要用到!
监控服务
动态监控进程
top 与 ps 命令很相似。它们都用来显示正在执行的进程。 top 与 ps 最大的不同之处在于 top 在执行一段时间可以更新正在运行的的进程。
基本语法:
top [选项]
选项说明:
-d 秒数
指定 top 命令每隔几秒更新。默认是3秒。
-i 使 top 不显示任何闲置或者僵死进程。
-p 通过指定监控进程 id 来仅仅监控某个进程的状态。
交互操作说明:
p 以cpu的使用率排序,默认就是此选项
M 以内存的使用率排序
N 以pid排序
q 退出top
案例:监视特定用户
top : 输入此命令,按回车键,查看执行的进程。
然后输入 u 回车,再输入用户名,即可!
监控网络状态
查看系统网络情况 netstat
基本语法:
netstat [选项]
选项说明
-an 按一定顺序排列输出
-p 显示哪个进程在调用
案例:查看所有的网络服务
使用该指令可以看到哪些外部 ip 连接到当前linux服务器!
结语
如果你觉得博主写的还不错的话,可以关注一下当前专栏,博主会更完这个系列的哦!也欢迎订阅博主的其他好的专栏。
系列专栏
软磨 css
硬泡 javascript
flask框架快速入门