@


本文以 CentOS7.6 为例

1:进程管理

在 Linux 中,每个执行的程序都称为一个进程。每一个进程都分配一个 ID(pid,进程号)。

每个进程都可能以两种方式存在:前台后台

前台进程就是用户目前的屏幕上可以进行操作的程序。后台进程则是实际在运行,但在屏幕上看不到的程序。

一般系统的服务都是以后台进程的方式存在,而且都会常驻在系统中,直到关机才结束。

1.1:查看进程

1.1.1:ps

功能描述:显示当前进程的状态。(process status)

由于查询到的信息很多,常搭配 grep 使用。

基本语法

ps [选项]

常用选项

参数 说明
-a 显示当前终端下的所有进程信息。
-u 以用户的格式显示进程信息。
-x 显示后台进程运行的参数。
-e 显示系统内的所有进程信息。
-f 以全格式显示,且显示父进程 pid。

查询结果说明:

字段 说明
USER 用户名称
PID 进程号
%CPU 进程占用 CPU 的百分比
%MEM 进程占用物理内存的百分比
VSZ 进程占用的虚拟内存大小(单位:KB)
RSS 进程占用的物理内存大小(单位:KB)
TTY 终端名称
STAT 进程状态。S:睡眠;s:表示该进程是会话的先导进程;N:表示进程拥有比普通优先级更低的优先级;R:正在运行;D:短期等待;Z:僵死进程;T:被跟踪或者被停止
STARTED 进程的启动时间
TIME 进程占用 CPU 的总时间
COMMAND 启动进程所用的命令和参数
PPID 父进程 pid
UID 用户 ID
C CPU 用于计算执行优先级的因子。数值越大,表明进程是 CPU 密集型运算,执行优先级会降低;数值越小,表明进程是 I/O 密集型运算,执行优先级会提高
STIME 进程启动的时间

示例:

# 仅查看和 sshd 有关的进程信息
ps -aux | grep sshd

# 查看 sshd 的父进程信息
ps -ef | grep sshd

1.1.2:pstree

功能描述:将所有进程以树状图显示。(display a tree of processes)

基本语法

pstree [选项]

常用选项

参数 说明
-p 显示进程的 PID
-u 显示进程的所属用户

1.1.3:top

功能描述:用于实时监控进程状态。在监控时也可以进行交互操作。

基本语法

top [选项]

常用选项

参数 说明
-d 数字 指定每隔几秒更新。(默认3秒)
-i 不显示闲置或僵死进程。
-p 数字 显示指定进程号的进程信息。
-n 数字 指定更新次数,完成后将会退出 top。
-s 安全模式,取消交互,避免潜在危机。

交互操作

操作 说明
【shift】+【P】 以 CPU 使用率排序。
【shift】+【M】 以内存使用率排序。
【shift】+【N】 以 pid 排序。
按【u】,输入用户名后按【enter】 监视特定用户。
按【k】,输入 pid 后按【enter】,再输入相应数字后按【enter】 终止指定的进程。
【q】 退出 top。

1.2:终止进程

如果某个进程执行中需要停止,或是已消了很大的系统资源,此时可以考虑停止该进程。

1.2.1:kill

功能描述:用于终止执行中的程序或工作。

kill 命令其实是向进程发送信号,可将指定的信息送至程序。预设的信息为 SIGTERM(15),可将指定程序终止。可使用 SIGKILL(9)信息尝试强制删除程序。

基本语法

kill [选项] 进程

进程可用进程号(pid)或进程名称表示。

常用选项

参数 说明
-9 或 -KILL 强制终止进程。

1.2.2:killall

功能描述:终止指定名字的所有进程。

kill 命令通过 pid 终止指定进程需要配合 ps 使用,而 killall 直接通过进程名操作,更加方便。

基本语法

killall 进程名

常用选项

参数 说明
-9 强制终止进程。
-e 进程需要和名字完全相符。
-I(大写i) 忽略大小写。

2:服务管理

服务(service)本质就是进程,但是运行在后台,通常会监听某个端口,等待其它程序的请求,(比如 mysqld、sshd、防火墙等),因此又称为守护进程

2.1:运行级别

运行级别(Running Level),也可以称之为运行模式。

Linux系统有7个运行级别,用数字0~6表示:

运行级别 说明
0 系统停机状态。其实就是关机
1 单用户工作状态。为 root 权限,用于系统维护
2 多用户状态,没有 NFS(Network File Syetem)。即没有网络服务的多用户状态
3 完全的多用户状态,有 NFS。即有网络服务的多用户状态
4 被保留的模式。没有被使用的模式
5 X11控制台,完整的图形化界面模式。就是图形界面模式
6 系统正常关闭并重启状态。其实就是重启

切换运行级别

init 运行级别

init 指令需要超级管理员的权限,普通用户无法执行。

系统运行级别配置文件,存放在 /etc/inittab。

2.2:服务查看

  • 方式一

在 /etc/init.d/ 下查看部分服务。(这部分服务可由 service、chkconfig 与 systemctl 指令管理)

指令:ls -l /etc/init.d

在 /usr/lib/systemd/system/ 下查看部分服务。(可由 systemctl 指令管理)

指令:ls -l /usr/lib/systemd/system

  • 方式二

查看全部系统服务:

setup

2.3:服务管理指令

2.3.1:service

功能描述:可用于部分系统服务管理。

在 Linux 新版本后,很多服务不再使用 service,而是 systemctl。

基本语法

service 服务名 [选项]

常用选项

参数 说明
start 开启服务。
stop 关闭服务。
restart 重启服务。
reload 重载服务。
status 查看服务状态。

2.3.2:chkconfig

功能描述:可以设置部分服务在不同运行级别下是否自启动。

也可用 systemctl 进行平替。

基本语法

chkconfig [选项]

常用选项

参数 说明
--list 查看由 chkconfig 管理的指令。
服务名 状态 管理某一服务。“ on ” 为开启,“ off ” 为关闭。
--level 运行级别 服务名 状态 设置服务在某一运行级别下是否自启动。“ on ” 为自启动,“ off ” 为关闭自启动。

2.3.3:systemctl

功能描述:用于服务管理。

systemctl 命令兼容了 service 与 chkconfig。

基本语法

systemctl [选项]

常用选项

参数 说明
start 服务名 开启服务。
stop 服务名 关闭服务。
restart 服务名 重启服务。
status 服务名 查看服务状态。
list-unit-files 查看所有服务开机自启动状态
is-enabled 服务名 查询某个服务是否开机自启动。
enable 服务名 打开服务开机启动。
disable 服务名 关闭服务开机启动。

谦,美德也,过谦者怀诈。默,懿行也,过默者藏奸。

——《格言联璧》(清)金缨

《Linux基础》06. 进程管理 · 服务管理的更多相关文章

  1. Linux系统服务管理 服务管理

    Linux独立服务管理 启动服务 systemctl start 服务名称.service 设置开机自启动 systemctl enable 服务名称.service 停止开机自启动 systemct ...

  2. linux入门系列11--Centos7网络服务管理

    通过前面文章的学习已经掌握了Linux系统配置管理的知识,本文讲解Centos7网络配置知识. Linux要对外提供服务,需要保证网络通信正常,因此需要正确配置网络参数.本文将讲解如何使用Networ ...

  3. linux基础之用户及用户组管理

    本节内容 用户管理 1. 为什么需要用户? 1.linux是一个多用户系统 2.权限管理(权限最小化) 2. 用户相关文件 /etc/passwd -->用户基本信息 /etc/shadow - ...

  4. Linux命令应用大词典-第23章 进程和服务管理

    23.1 ps:报告当前进程的快照 23.2 top:显示当前正在运行的进程 23.3 pgrep:按名称和其他属性查找进程 23.4 pidof:查找正在运行的进程的进程号 23.5 pstree: ...

  5. Linux基础学习笔记2-文件管理和重定向

    本节内容 1)文件系统结构元素 2)创建和查看文件 3)复制.转移和删除文件 4)软和硬链接 5)三种I/O设备 6)把I/O重定向至文件 7)使用管道 文件系统和结构 文件系统 文件和目录被组织成一 ...

  6. Linux 基础教程 35-软件包管理-YUM

    YUM基础     使用RPM在Linux中安装.卸载软件或服务进会经常碰到RPM包的依赖,而我们在安装软件A时,提示依赖于软件B,安装软件B时又会出现提示依赖于软件C等一系列的依赖关系.这时大家会提 ...

  7. Linux基础3(用户/组管理,rpm,yum,源码安装软件)

    用户管理 与用户相关的配置文件 /etc/passwd /etc/shadow /etc/skel /etc/defalut/useradd /etc/login.defs useradd userm ...

  8. Linux基础学习笔记5-软件管理

    包管理器 二进制应用程序的组成部分: 二进制文件.库文件.配置文件.帮助文件 程序包管理器: debian:deb文件.dpkg包管理器 redhat:rpm文件.rpm包管理器 rpm:Redhat ...

  9. Linux 基础教程 34-软件包管理-RPM

        对于Linux而言管理各类软件,如安装.卸载和升级等是常有的事情和必备的技能.以CentOS为例,常用的安装包命令有rpm和yum. RPM基础     RPM(RedHat Package ...

  10. linux 基础9-账号与身份管理

    1. linux的账号与群组 1.1 账户名称:/etc/passwd: head -n 5 /etc/password #取前5行 账号名称,对应UID 密码,早期是在这里,后来转到了/etc/sh ...

随机推荐

  1. 2023-05-17:一个正整数如果能被 a 或 b 整除,那么它是神奇的。 给定三个整数 n , a , b ,返回第 n 个神奇的数字。 因为答案可能很大,所以返回答案 对 10^9 + 7 取模

    2023-05-17:一个正整数如果能被 a 或 b 整除,那么它是神奇的. 给定三个整数 n , a , b ,返回第 n 个神奇的数字. 因为答案可能很大,所以返回答案 对 10^9 + 7 取模 ...

  2. 大三ACM第一次开会

    现在是2020.9.12,单说时间的话可能感知不太强,那么换个时间, 现在是大三上.按照设想,我应该已经退役. 会上,老李的语气不再激昂,满含着无奈与沧桑.面对围在桌前的大三们,终究还是提出了那个问题 ...

  3. 公众号接入 ChatGPT 了!

    虽迟但到,用了一段时间的chatgpt,功能确实令人惊叹,也是第一次体验到了交互式编程.不得不说,未来已来,花了一些时间,终于把chatgpt接入到了公众号! 使用方法 打开公众号的对话框,直接提问! ...

  4. TypeError: Cannot read property 'getAttribute' of undefined

    今天使用echarts + vue 做 图标,运行时提示vue.runtime.esm.js?2b0e:619 [Vue warn]: Error in mounted hook: "Typ ...

  5. MySQL全面瓦解30:备份与恢复

    合辑地址:MySQL全面瓦解 1 为什么需要数据库备份 灾难恢复:当发生数据灾难的时候,需要对损坏的数据进行恢复和还原 需求的变更或者回滚:当需求发生变更,或者需要回滚到之前的版本时,数据库备份也显得 ...

  6. OWASP移动应用安全测试指南中文版

    OWASP移动应用安全测试指南(MASTG)是OWASP移动应用安全(MAS)旗舰项目的一部分,是一本涵盖移动应用安全分析过程.技术和工具的综合手册,也是一套详尽的测试案例,用于验证OWASP移动应用 ...

  7. 资源高效搜索方法,你 Get 到了吗?

      随手转发给好友和朋友圈  编辑:办公小通 百度搜索谁都会,但是搜出来的资料往往良莠不齐.搜索速度是快了,但是还要花大量的时间去筛选. 通过下面的两个最常用的栗子,小通强烈推荐大家用高级搜索. 高级 ...

  8. 【Python&GIS】矢量数据投影转换(WGS84转地方坐标系)

         又是掉头发的一天,今天的任务是将WGS84坐标系的点转成地方坐标系,并判断点是否在某个面内,找了半天的资料什么四参数.七参数啥的太复杂了.这里使用Python的ogr, osr库内置的坐标转 ...

  9. Java基础之基础语法与面向对象

    前言 小知识 Java由Sun公司于1995年推出,2009年Sun公司被Oracle公司收购,取得Java的版权 Java之父:James Gosling(詹姆斯·高斯林) 专业术语 JDK:jav ...

  10. MyBatis体系笔记

    MyBatis 什么是MyBatis MyBatis是优秀的持久层框架 MyBatis使用XML将SQL与程序解耦,便于维护 MyBatis学习简单,执行高效,是JDBC的延伸 1.MyBatis开发 ...