系统管理和进程管理

目录

1.0 Linux 引导过程 

1.1 1开机自检

1.1.2MBR 引导

1.1.3GRUB 引导菜单

1.1.4 加载 Linux 内核

1.1.5 init 进程初始化

2.0 GRUB2 与 GRUB 的区别

GRUB2 的优点:

GRUB 的优点

2.1 Systemd 服务管理

2.1.1 Systemd 的优点

2.1.2 运行级别与 Systemd 目标

2.1.3 服务管理   

3.0 进程管理 

1. 程序与进程的关系

父进程与子进程

举例:

3.1 查看进程

3.1.1 ps指令

3. 1.2动态查看进程信息  top 命令

3.1.3 pgrep命令查询进程信息

3.1.4 pstree命令以树形结构列出进程信息

4.0 进程的启动方式

4.1  手工启动进程

4.2  调度启动

5.0进程的前后台调度

Ctrl+Z组合键

6.0 终止进程的运行

6.1 Ctrl+C组合键

6.2 kill 命令

6.3 killall 命令

pkill 命令

7.0 计划任务管理

7.1 一次性任务:at 命令

 7.2  周期性任务:cron 命令 

7.2.1. date

功能:

详细案例:

7.2.2 cal

功能:

功能:


1.0 Linux 引导过程 

1.1 1开机自检
  • 过程:系统开机后,通过 BIOS 对 CPU、内存、显卡、键盘等硬件设备进行初步检测,检测成功后根据 BIOS 设置的启动顺序,系统会选择一个设备(硬盘、光驱、U盘等)进行引导。

1.1.2MBR 引导
  • 过程:如果从硬盘启动,系统会从硬盘的第一个扇区加载 MBR(主引导记录),并通过 MBR 启动菜单(如 GRUB)选择操作系统启动。

1.1.3GRUB 引导菜单
  • 过程:GRUB(GRand Unified Bootloader)是 Linux 常用的多重操作系统引导程序。GRUB 会显示启动菜单,用户选择启动项后加载操作系统的内核文件,并将控制权交给内核。

1.1.4 加载 Linux 内核
  • 过程:内核文件是一个预编译的二进制文件,介于硬件与系统程序之间,负责管理硬件资源和系统进程。

1.1.5 init 进程初始化
  • 过程:内核加载后,会启动系统的初始化进程 /sbin/init,该进程负责进一步的系统初始化工作,如加载硬件驱动、启动系统服务,最终等待用户登录。

2.0 GRUB2 与 GRUB 的区别

GRUB2 的优点

  • 支持多种文件系统

  • 模块化设计,允许动态加载需要的模块,从而缩小核心镜像的体积。

  • 配置文件不同,GRUB2 使用 /boot/grub2/grub.cfg,而 GRUB 使用 /boot/grub/grub.conf

  • 总结:GRUB2 增强了功能,支持更多的文件系统和自动化配置,同时提高了系统的灵活性和扩展性。

GRUB 的优点

多系统兼容能力强

灵活的启动配置

强大的内核管理

硬件与文件系统支持广泛

安全性增强

脚本化与自动化配置

故障恢复能力

2.1 Systemd 服务管理

2.1.1 Systemd 的优点
  • 并行启动服务:与传统的 SysVinit 相比,Systemd 支持并行启动多个服务,从而加速系统启动过程。

  • 按需启动服务:Systemd 可以按需启动服务,避免了启动不必要的服务,提高了系统的效率。

  • 总结:Systemd 改善了系统的启动速度和服务管理效率,解决了 SysVinit 启动慢和脚本复杂的问题。

2.1.2 运行级别与 Systemd 目标

在 Linux 系统中,运行级别(runlevel)定义了系统的运行状态。Systemd 通过目标(target)来代替传统的运行级别。

  • 0 系统停机模式,系统默认运行级别不能设置为0,否则不能正常启动,机器关的;

  • 1 单用户模式,root权限,用于系统维护,禁止远程登录(只能通过实机进去),该模式的进入方式百度操作即可;就像windows下的安全模式登录;(进入单用户模式的时候root不需要密码就可以登录,所以在此模式下可以修改root密码)

  • 2 多用户模式,没有NFS和网络支持;

  • 3 完整的多用户文本模式,有NFS和网络,登录后进入控制台命令行模式。

  • 4 系统未使用,保留一般不用,在一些特殊情况下可以用它来做一些事情。例如在笔记本电池用尽时,可以切换到这个模式来做一些设置;

  • 5 图形化模式,登录后进入图形GUI模式,X windows系;

  • 6 重启模式,默认运行级别不能设为6,否则不能正常启动。运行init6机器就会重启

2.1.3 服务管理   

设置开机自启
systemctlenable'sshd
2、查看开机自启
systemctl is-enabledsshd
3、关闭开机自启·
systemctldisablesshd
4、查看服务状态
systemctlstatussshd
5、关闭服务
systemctl stop sshd实例关闭防火墙 systemctl stop firewalld.service
6、启动服务
systemctl startfirewalld.service
7.重启服务
systemctl restartfirewalld.service
8.重新加载
systemctl reload firewalld.service 

3.0 进程管理 

进程管理是操作系统管理进程和资源的关键部分。在 Linux 中,进程是系统中所有任务的核心,进程管理命令主要用于查看、控制和调度系统中的进程。

1. 程序与进程的关系

  • 程序:是存储在硬盘上的可执行代码,像一本书的内容,静态存放在硬盘或其他存储设备上。例如,你下载并安装的一个应用程序(如 firefox)。

  • 进程:是程序在运行时的实例,像是一本书被人打开并阅读时,它在你眼前执行的过程。每当你运行一个程序,操作系统会创建一个进程,分配内存和 CPU 时间来执行这个程序。


父进程与子进程
  • 父进程:是创建其他进程的进程,就像一个家长。

  • 子进程:是由父进程创建并执行的独立进程,就像子女一样。

举例:
  • 父进程:一家公司的老板(父进程),负责管理和指挥。

  • 子进程:公司的员工(子进程),执行老板指派的任务。 

3.1 查看进程

3.1.1 ps指令

ps(process status)命令用于查看系统中当前运行的进程。它显示了与进程相关的信息,如进程 ID (PID)、用户、CPU 和内存使用率等。

  • 常用选项

    • ps -aux:显示所有进程,包括其他用户的进程。

    • ps -ef:以标准格式显示所有进程。

    • ps -aux | grep [进程名]:通过管道和 grep 命令过滤进程

输出字段解释

  • USER:进程所属的用户。

  • PID:进程 ID。

  • %CPU:进程占用的 CPU 百分比。

  • %MEM:进程占用的内存百分比。

  • VSZ:进程使用的虚拟内存(单位 KB)。

  • RSS:进程使用的物理内存(单位 KB)。

  • STAT:进程的状态,常见状态有:R(运行)、S(睡眠)、Z(僵尸)、T(停止)等。

  • START:进程的启动时间。

  • TIME:进程占用的 CPU 时间。

  • COMMAND:启动该进程的命令。

3. 1.2动态查看进程信息  top 命令

top 命令

top 命令用于动态显示 Linux 系统中运行的进程和资源使用情况,实时更新显示。

  • 常用快捷键

    • P:按 CPU 使用率排序。

    • M:按内存使用量排序。

    • T:按时间排序。

    • q:退出 top。

  • 输出解释

    • PID:进程 ID。

    • USER:启动该进程的用户。

    • %CPU:进程占用的 CPU 百分比。

    • %MEM:进程占用的内存百分比。

    • TIME+:进程累计使用的 CPU 时间。

    • COMMAND:执行的命令。

3.1.3 pgrep命令查询进程信息

常用的参数

  • -l:选项可同时输出对应的进程名以及PID

  • -U:选项查询特定用户的进程

  • -t:选项查询在特定终端运行的进程

3.1.4 pstree命令以树形结构列出进程信息

pstree 命令默认情况下只显示各进程的名称, 结合以下常用的参数使用:

  • -p:选项使用时可以同时列出对应的PID号

  • -u:选项可以列出对应的用户名

  • -a:选项可以列出完整的命令信息、

4.0 进程的启动方式

4.1  手工启动进程

由用户手工输入命令或者可执行程序的路径,可以至少启动一个进程。根据该进程是否 需要占用当前的命令终端,手工启动又可以分为前台启动和后台启动。 进程在前台运行 (如执行“ls -l”命令)时,用户必须等到该进程执行结束并退出以后才能继续输入其他命令,大多数命令操作在前台启动运行。进程在后台运行时,用户可以继续在当前终端中输入其他命令,而无须等待该进程结束,适用于运行耗时较长的操作。

4.2  调度启动

在服务器维护工作中,经常需要执行一些比较费时而且较占用资源的任务(如数据备份),这些任务更适合在相对空闲的时候(如夜间)进行。这时就需要用户事先进行调度安排,指 定任务运行的时间,当系统到达设定时间时会自动启动并完成指定的任务。调度启动的计划 任务进程均在后台运行,不会占用用户的命令终端

5.0进程的前后台调度

Ctrl+Z组合键

当Linux操作系统中的命令正在前台执行时(运行尚未结束),按Ctrl+Z组合键可以将当前进程挂起(调入后台并停止执行),这种操作在需要暂停当前进程并进行其他操作时特别有用。例如,打包usr并且调入后台 ,可以按 Ctrl+Z 组合键将该下载任务调入后台并暂停执行

tar zcvf usr.tar.gz /usr

6.0 终止进程的运行

6.1 Ctrl+C组合键

中断正在执行的命令

6.2 kill 命令

kill 命令用于发送信号给进程,通常用来终止进程。

常用选项

  • kill [PID]:正常终止进程。

  • kill -9 [PID]:强制终止进程(不可恢复)。

案例

kill 1234

终止 PID 为 1234 的进程。

kill -9 1234

强制终止 PID 为 1234 的进程。

6.3 killall 命令

killall 命令根据进程名称终止进程。

案例

killall vim

终止所有名为 vim 的进程。

pkill 命令

pkill 命令根据进程属性(如用户名、终端等)终止进程。

案例

pkill -u root
[root@localhost ~]# pkill -9 -U "hackli"  

终止所有由 root 用户启动的进程。

7.0 计划任务管理

计划任务用于自动执行系统中的任务。Linux 中常用的计划任务工具包括 atcron

7.1 一次性任务:at 命令

at 命令用于设置一次性任务,任务将在指定时间执行。

  • 命令格式

    at [HH:MM] [yyyy-mm-dd]
    at> [要执行的命令]
  • 常用选项

    • atq:列出待执行的任务。

    • atrm [任务编号]:删除指定的任务。

 7.2  周期性任务:cron 命令 

cron 用于设置定期执行的任务。用户可以通过 crontab 命令编辑和管理自己的计划任务。

  • crontab -e:编辑当前用户的 cron 任务。

  • crontab -l:列出当前用户的 cron 任务。

  • crontab -r:删除当前用户的所有 cron 任务。


crontab -u 用户名 #指定XX用户的cron服务
crontab -u zx -l #列出zx用户下的cron的详细内容
crontab -r #删除所有用户的cron内容,普通用户执行,只删除自己的cron内容
crontab -r -u zx #删除zx用户的cron内容

7.2.1. date

功能:

date 命令用于显示当前的系统日期和时间,可以指定不同的输出格式,或用它来设置系统的日期和时间。

详细案例:
  • 显示当前系统时间:

    date

    输出:Wed Aug 14 16:24:51 UTC 2025

  • 自定义时间格式:

    date "+%Y-%m-%d %H:%M:%S"

    输出:2025-08-14 16:24:51

  • 显示当前时间的时间戳(从1970年1月1日以来的秒数):

    date +%s

    输出:1692017091

  • 设置系统时间:

    sudo date +%Y-%m-%d -s "2025-08-14"

    这会将系统日期设置为 2025年8月14日

7.2.2 cal

功能:

cal 命令用来显示当前月份或指定月份的日历。可以方便地查看日期。

7.2.3 history

功能:

history 命令用来查看当前用户的历史命令。这个命令可以帮助你快速找到之前运行的命令。

1  ls
2  cd /home/user
3  mkdir new_folder
4  history

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值