linux 进程管理

linux 进程管理

基本介绍

1.在linux中,每个执行的程序(代码)都称为一个进程。每一个进程都有一个唯一的ID号。
2.每一个进程都会对应一个父进程,这个父进程可以复制多个子进程。
3.每个进程都可能以两种方式存在:前台与后台。前台进程就是屏幕上可以操作的。
4.一般系统的服务都是以后台进程的方式存在,而且会常驻在系统中,直到关机才结束。

进程管理

查看系统执行的进程

ps

ps用来查看目前系统中,有哪些程序正在执行,以及他们执行的状况。

image

基本指令
ps [选项]

可选参数
-a 显示当前终端的所有进程信息
-u 以用户格式显示进程信息
-x 显示后台进程运行的参数
-e 显示所有进程
-f 全格式,显示父进程

案例

[ranan@hadoop102 ~]$ ps -aux

image

ps -aux | grep xx 可以根据CMD筛选,如终端bash

查看父进程

[ranan@hadoop102 ~]$ ps -ef

image

pstree

基本指令
pstree [选项] 以树状图的形式来查看进程信息

常用选项
-p 显示进程PID
-u 显示进程的所属用户

终止进程

基本语法
kill [选项] 进程号
killall 进程名 通过进程名杀死程序,支持通配符,在系统因负载过大而变得慢时很有用

常用选项
-9 表示强迫进程立即停止

案例1

踢掉非法登录的用户ranan

1.用root用户登录
2.ps -aux | grep sshd 查询进程,找到进程号2175
image

[root@hadoop102 ranan]# kill 2175

案例2

终止远程登录服务sshd

image

[root@hadoop102 ranan]# kill 1012

服务(service)管理

syetemclt就是service和chkconfig两个命令的整合

服务service本质就是进程,但是运行在后台的,通常会监听某个端口,等待其他程序的请求,如mysql、sshd等。因此又称守护进程。

image

service 服务名 start|stop|restart|reload|status
systemctl 服务名 start|stop|restart|reload|status

说明:
1.关闭或启动防火墙后,立即生效。
测试方法 windows下telnet ip 端口来检测linux的某个端口是否在监听可访问。
2.这种方式只是临时生效,当重启系统后,还是回归以前对服务的设置。
3.服务自启动或关闭永久生效,使用chkconfig

开机的流程: 开机->bios->/boot->init进程1->默认运行级别->运行级别对应的服务

服务可以在不同的运行级分别设置是否自动启动

任务 旧指令 新指令
设置服务自启动 chkconfig --level 3 httpd on systemctl enable httpd.service
设置服务不自启 chkconfig --level 3 httpd off systemctl disable httpd.service
检查服务状态 service httpd status systemctl status httpd.service (服务详细信息) systemctl is-active httpd.service (仅显示是否 Active)
显示所有已启动的服务 chkconfig --list systemctl list-units --type=service 查看开启服务状态(包含不启动)
启动某服务 service httpd start systemctl start httpd.service
停止某服务 service httpd stop systemctl stop httpd.service
重启某服务 service httpd restart t systemctl restart httpd.service

监控服务

动态监控进程top

top与ps相似,都用来显示正在执行的进程。top和ps最大的不同是top在执行一段时间可以更新正在运行的进程。

基本语法
top [选项]

进入top后交互操作
image

选项说明
image

案例1.监视特定用户
1.输入top,按回车,查看执行的进程

image

2.输入u回车,再输入用户名

image

案例2.终止指定的进程
1.输入top,按回车,查看执行的进程
2.输入k回车,再输入要结束的进程ID号

查看系统网络情况netstat

基本语法
netstat [选项]
常用 netstat -anp
选项说明
-an 按一定顺序排列输出
-p 显示哪个进程在调用
案例1 查看系统所有的网络服务

[ranan@hadoop102 ~]$ netstat -anp

image

方案2 查看服务名为sshd的服务的信息

[ranan@hadoop102 ~]$ netstat -anp | grep sshd
posted @ 2021-07-05 12:03  rananie  阅读(47)  评论(0编辑  收藏  举报