linux进程

Linux

Linux进程

基本介绍

1.在linux中,每个执行的程序都称为一个进程,每一个进程都分配一个ID号(pid,进程号)。->程序运行加载到内存后就是一个进程。程序是静态的概念,而进程是动态的概念。
2.每个进程都可能以两种方式存在的。前台后台,所谓前台进程就是用户目前的屏幕上可以进行操作的。后台进程则是实际在操作,但由于屏幕上无法看到的进程,通常使用后台方式执行。(如调用mysql数据库)
3.一般系统的服务都是以后台进程的方式存在,而且都会常驻在系统中,直到关机才结束。

显示系统执行的进程

基本介绍
ps指令是用来查看目前系统中,有哪些正在执行,以及它们执行的状况。可以不加任何参数。
ps -a :显示当前终端的所有进程信息。
ps -u :以用户的格式显示进程信息
ps -x :显示后台进程运行的参数
一般结合使用: ps -aux。信息太多可以分页显示 ps -aux | more
Linux中父进程可以有子进程
ps -ef 也可以显示所有进程:ps -aux | grep sshd。过滤显示某进程

终止进程kill和killall

基本介绍:
若是某个进程执行一半需要停止或者是已消耗了很大的系统资源时,此时可以考虑停止该进程。
基本语法:
kill 选项 进程号
killall 进程名称 (通过进程名称杀死进程,也支持通配符,这在系统因负载过大而变得很慢时很有用)包括进程的子进程都一并杀掉
常用选项 -9表示强迫进程立即停止
案例1.踢掉某个非法登录用户:kill 进程号
案例2.终止远程登录服务sshd,在适当的时候再次重启sshd服务
kill sshd对应的进程号 /bin/systemctl start sshd.service (重启)
案例3.终止多个gedit killall gedit
案例4.强制杀掉一个终端
首先ps -aux | grep bash 查看终端的进程号 Ss+ bash 进程号,另一个终端
Ss bash 自身这个终端。 kill -9 bash对应的进程号

查看进程树pstree

基本语法:
pstree 选项 可以更加直观的来看进程信息
常用选项 -p:显示进程的PID -u:显示进程的所属用户

服务(service)管理

基本介绍:
service本质就是进程,但是是运行在后台的,通常都会监听某个端口,等待其他程序的请求,比如(mysql,sshd 防火墙等),因此我们又称为守护进程,是Linux中非常重要的知识点。比如xshell用的就是22号端口来找到端口监听的系统服务或者说是守护进程
service管理指令
1.service 服务名 start|stop|restart|reload|status
2.在CentOS7.0后 很多服务不再使用service ,而是 systemctl
3.service指令管理的服务在 /etc/init.d 查看

案例:用service指令,查看,关闭,启动network。注意,在虚拟系统演示,因为网络连接会关闭。
service network stop -->端口监听关闭,于是xshell无法连接linux
service network restart

查看服务名
方式1:使用setup ->系统服务就可以看到全部
方式2:/etc/init.d 看到service指令管理的服务 ls -l /etc/init.d

chkconfig指令

基本介绍:
1.通过chkconfig命令可以给服务的各个运行级别设置自 启动/关闭
2.chkconfig指令管理的服务在 /etc/init.d 查看
3.注意在Centos7.0后,很多服务使用systemctl管理
基本语法
1.查看服务 chkconfig --list 或过滤版chkconfig --list | grep network
2.chkconfig 服务名 --list
3.chkconfig --level 5 服务名 on/off
使用细节:
chkconfig重写设置服务后自启动或关闭,需要重启机器reboot生效。

案例 对network 进行操作,把network 在3运行级别,关闭自启动
chkconfig --level 3 network off

systemctl指令

systemctl管理指令
1.基本语法:systemctl [start|stop|restart|status] 服务名
2.systemctl指令管理的服务在/usr/lib/systemd/system 查看
显示可以管理的服务:ls -l /usr/lib/systemd/system
查看防火墙的名称:ls -l /usr/lib/systemd/system | grep fire

systemctl设置服务的自启动状态
1.systemctl list-unit-files [ | grep 服务名] 查看服务开机启动状态

2.systemctl enable 服务名 (设置服务开机启动)
3.systemctl disable 服务名 (设置服务关机启动)
4.systemctl is-enabled 服务名 (查询某个服务是否是自启动的)
案例:查看当前防火墙的状态 systemctl status firewalld
关闭防火墙 systemctl stop firewalld (1)
开启防火墙 systemctl start firewalld (2)
(1) (2) 都是临时的,重启系统后还是回归以前对服务的设置
如果希望设置某个服务自启动或关闭永久生效
systemctl dsiabel/enabel 服务名

打开或关闭指定端口

firewall指令
打开端口:firewall-cmd --permanent --add-port=端口号/协议
关闭端口:firewall-cmd --permanent --remove-port=端口号/协议
重新载入才能生效:firewall-cmd --reload
查询端口是否开放:firewall-cmd --query-port=端口/协议

防火墙打开但要能访问端口。
打开111端口:
(1)firewall-cmd --permanent --add-port=111/tcp
(2)firewall-cmd --reload

动态监控进程

介绍:
top和ps命令很相似。它们都用来显示正在执行的进程。Top与ps最大的不同之处在于top在执行一段时间可以更新正在运行的进程。
基本语法:
top 选项
主要 查看 cpu,内存使用情况,zombie:僵死进程,进程已死,但内存未释放

  1. -d 秒数 指定top命令每隔几秒更新,默认是3秒
  2. -i 使top不显示任何闲置或僵死进程
  3. 通过指定监控进程ID来仅仅监控某个进程的状态
  4. 在这里插负载入图片描述
    load average 负载三个平均值要小于0.7

交互操作说明:按完top 后再按
5. P 以cpu使用率排序,默认就是这个
6. M 内存
7. N 以PID排序
8. q 退出
9. 监控某用户 先按u,再输入要监控的用户
10.终止指定的进程 比如结束某用户登录,top下按k回车 再输入要结束的进程ID,用户
11.指定系统状态更新的时间 top -d 10 每10s更新

监控网络状态**

基本语法:
netstat [选项]
选项说明

  1. -an 按一定顺序排列输出
  2. -p 显示哪个进程在调用
  3. netstat -anp | more
  4. 案例:查看服务名为sshd的服务信息:netstat -anp | grep sshd

检测主机连接命令ping:
是一种网络检测工具,它主要是用于检测远程主机是否正常,或是两部主机间的网线或网卡故障。如:ping 对方ip地址

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值