Linux进阶之路————进程与服务管理
引言
在Linux 中,每个执行的程序(代码)都成为一个进程,Linux 为每一个进程分配了一个唯一的 id 号 - PID。
每个进程都会对应一个父进程,而这个父进程可以复制多个子进程,例如 www 服务器。
每个进程都可能以两种方式存在 - 前台/ 后台,所谓前台进程就是用户目前的屏幕上可以进行操作的。后台进程则是实际在操作,但由于屏幕上无法看到的进程,通常运行在管理员无法感知的后台。
一般系统服务都是以后台进程的形式存在,比如 sshd 服务进程,其中的 d 代表 daemon (守护进程),而且会常驻在系统中,如果不进行特殊操作,一般只有在关机时才会终止。
一、显示系统中的进程列表
基本语法:
ps -aux
一般使用 ps 指令都会带上参数,-a 代表 all 所有进程;-u 代表 user 以用户格式显示;-x 代表显示后台进程运行参数。
字段详解:
USER - 进程的用户名
PID - 进程 ID
%CPU - 占用 CPU 百分比
%MEM - 占用物理内存百分比
VSZ - 使用的虚拟内存大小(单位:KB)
RSS - 使用的物理内存大小(单位:KB)
TTY - 终端名称,缩写
STAT - 进程状态,S - 睡眠,s - 表示该进程是会话的先导进程,N-表示进程拥有比普通优先级更低的优先级,R-正在运行,D-短期等待,Z-僵死进程,T-被跟踪或被停止。
START - 进程启动时间
TIME - 进程占用 CPU 总时间
COMMAND - 进程执行时的命令行,过长的话可能会截断显示
另外,ps -aux 还可以通过管道符和过滤命令 “| grep 进程名” 来专门查找指定进程的详情信息:
可以看到上面的途中,查看ssh 进程的信息,显示结果中,第一行是 sshd 后台进程,因为它在启动时使用了 /usr/sbin/sshd 命令。而最后一行可以看到使用的是 grep ssh ,也就是我们正在查询时开启的一个进程。第二和第三行是通过外部的 ssh 终端设备连接进来而开启的后台进程,第四行则是一个 sftp 相关的后台进程。
有趣的是,如果我通过 kill -9 杀掉 3362 进程,那么远程终端的文件视图就会连接中断,同时第四行的 sftp 后台进程也会终止:
终端命令行依然可以操作,由此可见进程列表中显示的信息与实际的进程情况完全匹配。
二、查看父进程
还有一种查询进程的方式是:
ps -ef
这句指令的意思是“全格式显示所有进程,包括父进程”。一般也会配合 管道符 “|” 和 筛选指令 grep 、分页指令 more 等一起使用。
PPID 就是父进程的 PID 。
C 代表CPU 用于计算执行优先级的因子。数值越大,表名进程是 CPU 密集型运算,执行优先级会降低;数值越小,表名进程是 IO 密集型运算,执行优先级会提高。
STIME 进程启动的时间
TTY 终端名称
TIME CPU 占用时间
CMD 启动进程所用的命令和参数
三、终止进程
基本语法:
kill 参数 进程PID
常用参数: -9。
Linux 中的 kill 指令用来终止指定进程的运行。
通常,终止一个前台进程只需要 Ctrl + C ,但是对于一个后台进程就需要使用 kill 指令,并且要先查看我们想要终止进程的 PID。
我们来使用 man kill 来查看一下 kill 的使用手册:
在描述中的第一段话意思是这样的:
指令 kill 发送特定的信号给特定的进程或进程组。如果没有指定信号,那么就会发送 TERM 信号。TERM 信号会杀死那些没有捕获这个信号的进程。对于其他的进程,可能有必要使用 KILL(9) 信号,因为这个信号不会被捕获。
在 kill 说明中有一个参数 是 -l 可以列出所有的可发送信号:
因此,kill -9 的含义就是强制杀死进程。
四、服务管理
服务的本质其实就是进程,但是运行于后台,通常会监听某个端口,等待其他程序的请求,比如mysqld,sshd 防火墙等,因此我们又称为守护进程
4.1 service指令
在CentOS 7之前都是通过 service 指令来管理后台系统服务,CentOS7 之后,采用systemctl 指令来进行管理。这里讲解 service 的用法,后期会针对 CentOS 7 来进程补充。
基本语法:
service 服务名 start | stop | restart | reload | status
案例:查看Linux 防火墙的情况,关闭并重启防火墙:
可以在宿主机终端采用 telnet 指令来检查端口是否可以连接(国庆期间又装了一个 CentOS 6 ,ip 是200):
4.2 查看Linux自启动服务
在命令行输入 setup 指令并回车即可查看系统自启动服务:
服务名称前面的 [ ] 内如果有 * 号,说明此项服务属于开机自启。
除了这种方式,还可以通过/etc/init.d/服务名称 文件来查看:
不过在这里好像只能看到系统都有哪些服务。
4.3 服务的运行级别
在前面的文章中《Linux进阶之路————Linux运行级别》中,总结了关于Linux 系统运行级别的概念和知识,这里服务的运行级别也和之前的运行级别是一脉相承的。
首先我们知道,Linux 的启动流程是如下所示的:
服务的运行级别对应着系统的运行级别,如果系统当前的运行级别是3,那么5 运行级别的服务就不会开机启动,而需要手动操作。
通过 chkconfig 指令可以给每个服务的各个运行级别设置 自启动/ 关闭,设置之后即生效。
常用语法:
chkconfig --list | grep 服务名 # 查看服务的运行级别状态,过滤处理可选
chkconfig 服务名 --list # 查看某个服务的运行级别状态
chkconfig [--level 运行级别编号] 服务名 on | off # 在某个运行级别下开启或关闭自启动,若不写运行级别,默认全部
案例:关闭所有运行级别下的防火墙服务的自启动:
五、进程监控
Linux 使用 top 命令来进行进程监控。
top 命令和 ps 命令有些类似,它们都用来显示正在执行的进程,但二者又有不同,top 最大的特点在于可以定期刷新进程列表中的状态。
基本语法:
top [选项]
可选参数:
-d 秒数 指定top 命令刷新频率,默认是 3。
-i 不显示任何闲置或者僵死进程
-p PID 指定进程ID 的进程状态
当进入到 top 的交互模式中时,可以通过下面一些参数,来与 top 命令进行交互:
P 以CPU 使用率排序,默认是此项
M 以内存使用率排序
N 以 PID 排序
q 退出 top 命令
输入 top 命令可以显示上图中的信息,默认每 3 秒刷新一次,如果按下交互键,在排序的同时可以立即刷新列表。输入q 可以退出 top 。
上图中,up 代表系统启动了多久,2 users 表示当前用户数,load average 应该是平均负载的意思。其余的选项可以网上搜索或见名猜意 (* ̄︶ ̄)。
六、网络监控
6.1 netstat
网络监控采用 netstat 命令。
基本语法:
netstat [选项]
常用参数:
-an 按一定排序输出
-p 显示哪个进程在调用
案例:查看sshd 的服务信息:
可以看到,如果sshd 服务是关闭的状态的话,那么 netstat 也查询不到 sshd 的网络监听状态。
6.2 ping
不论是Windows 还是 Linux ,这个命令都是通用的。它是一种检测网络的工具,可以快速查看远程主机是否可以连通,主机间的介质是否为断,网线是否脱落或网卡故障等。
如果两台主机之间可以正常通信,那么就会显示上图所示,如果通信异常,那么就不会显示时间等信息。
综上,就是关于系统服务相关的知识总结,欢迎文末留言。
Linux进阶之路————进程与服务管理相关推荐
- Linux进阶之路————组管理与权限管理
引言 这篇博客将会总结一些关于组的概念和相关操作,以及文件的一些权限管理. 一.组的基本介绍 在前面的博文<Linux进阶之路----用户管理>已经有提到用户组的概念,实际上,组的概念并不 ...
- Linux进阶之路-Ubuntu版
Linux进阶之路 @[TOC](Linux进阶之路) Linux 简介 概述 Linux 与 Windows 比较 安装 Linux 操作系统 Linux 远程控制管理 概述 OpenSSH XSh ...
- linux 下的 service 和systemctl 服务管理方式
linux 下的 service 和systemctl 服务管理方式 man service 得到:执行一个system V 风格的启动脚本 service - run a System V ini ...
- Linux进阶之路————磁盘查询
引言 承接<Linux进阶之路----Linux磁盘分区与挂载>,本文介绍实际生产中对于磁盘的监控和查询. 一.查询磁盘整体使用情况 基本语法: df -h 该命令会显示包括我们手动挂载的 ...
- Linux进阶之路————Linux运行级别(重置密码)
引言 前面的<Linux进阶之路----开机.重启和用户登录注销>已经简单介绍过Linux系统运行级别的概念,今天来详细介绍和总结一下Linux的运行级别. inittab配置文件 在配置 ...
- Linux基础篇——Linux进程、服务管理
文章目录 1. 什么是进程 2. Linux下进程与执行者的关系(多人多任务环境) 3. 工作(Job)管理 3.1 将指令丢到后端执行 & 3.2 将目前的工作暂停 Ctrl+z 3.3 j ...
- linux进程与服务管理,linux基础之进程管理与服务
进程的状态 进程被称作任务,有4种状态 运行态 运行或准备运行 等待态 可中断(TASK_ITERRUPTIBLE) 不可中断(TASK_UNITERRUPTIBLE) 停止态(TASK_STOPPE ...
- Linux进阶之路————用户管理
引言 前面几篇关于Linux的已经大概领略了Linux的风采,本篇用户管理,将着重总结日常工作中,非常重要的用户管理功能. 主要包括:新增用户.删除用户.查询用户信息.指定/修改密码.切换用户.用户组 ...
- OpenHarmony恢复启动子系统init进程之服务管理与发布
配置文件加载 Jobs 实际上是作为参数使用,作为trigger参数使用. 使用HashMap管理,所有结点按类型存储,通过name获取. 文件 加载类型 说明 /etc/init.cfg Jobs, ...
最新文章
- 视频分辨率无损放大软件 Topaz Video Enhance AI 2.3.0
- remote: 此仓库的限制大小为: 2048 MB, 您的使用已经超出限额
- SSH隧道 / SSH穿透
- VS2010解决方案不显示无法添加项目问题
- Oracle FGA审计记录的清理步骤
- java jdbc(mysql)驱动源码分析_JAVA JDBC(MySQL)驱动源码分析(二)
- Dubbo 高危漏洞!原来都是反序列化惹得祸
- html css三类选择器,css三类选择器 用法 引用
- matlab gui怎样将结果保存_Processing将串行数据保存用作matlab数据分析
- python多维列表索引越界怎么处理_Python中remove漏删和索引越界问题的解决
- python如何设计工具类_Python面向对象 --- 类的设计和常见的内置方法
- 文件操作Python
- 空位補零,你會選擇哪種方式?
- [渝粤教育] 西南科技大学 铁路交通信号控制 在线考试复习资料
- VS找不到System.Web.Extensions.dll的解决办法
- 《矩阵分析与应用》(第2版)———知识+Matlab2018a——2nd
- 1031 查验身份证 (15 分) 一个合法的身份证号码由17位地区、日期编号和顺序编号加1位校验码组成。
- 专门用来保存图片生成图片链接的工具博文
- Qt之自定义QLineEdit右键菜单
- 场外模拟 省选联考(B卷) 2020 游记
热门文章
- scala中map添加值_如何在Scala Map中反转键和值
- scala 函数中嵌套函数_Scala中的嵌套函数 用法和示例
- Java字符类isLowerCase()方法与示例
- 离散数学关系的性质_关系和关系的性质| 离散数学
- 99%的程序员都在用Lombok,原理竟然这么简单?我也手撸了一个!|建议收藏
- ReactNative实现图集功能
- 精通ASP.NET MVC ——路由
- javascript在第三个文本框中显示文字_一段中的个别文字,显示在目录中
- decimal类型 go_Go 语言程序设计——字符串类型(2)
- okhttp 工具类_日语学习工具推荐,小白必备!