【Linux操作系统】探秘Linux奥秘:进程与任务管理的解密与实战

🌈个人主页:Sarapines Programmer
🔥 系列专栏:《操作系统实验室》
🔖诗赋清音:柳垂轻絮拂人衣,心随风舞梦飞。 山川湖海皆可涉,勇者征途逐星辉。

目录

🪐1 初识Linux OS

🪐2 进程与任务管理的解密与实战

🌍1. 实验目的

🌍2. 实验准备

🌍3. 实验内容

🌍4. 实验心得

📝总结


🪐1 初识Linux OS

Linux是一种开源的Unix-like操作系统内核,它是基于POSIX和Unix的多用户、多任务、支持多线程和多CPU的操作系统。Linux内核最初是由芬兰程序员Linus Torvalds在1991年创建的,之后成为自由软件和开源社区的一个主要项目。

以下是Linux操作系统的一些主要特点和组成部分:

  1. 内核(Kernel): Linux内核是操作系统的核心,它管理系统资源,如处理器、内存、设备驱动程序等。Linus Torvalds最初编写了Linux内核,它是Linux操作系统的基础。

  2. Shell(命令解释器): Linux操作系统使用命令行界面(CLI),用户与系统交互通过Shell。用户可以通过输入命令执行各种任务,管理文件、进程、权限等。常见的Shell包括Bash(Bourne Again SHell)和Zsh。

  3. 文件系统: Linux支持多种文件系统,包括Ext4、XFS、Btrfs等。文件系统负责管理存储设备上的文件和目录,以及文件的权限、所有权等信息。

  4. 用户界面: 虽然Linux以CLI为主,但也支持图形用户界面(GUI)。常见的Linux桌面环境有GNOME、KDE、XFCE等,它们提供了直观的用户体验。

  5. 软件包管理系统: 大多数Linux发行版都有自己的软件包管理系统,用于安装、更新和删除软件。常见的包管理工具有APT(Debian/Ubuntu)、YUM(Red Hat/CentOS)、Pacman(Arch Linux)等。

  6. 网络功能: Linux具有强大的网络功能,支持各种网络协议和服务。它可以作为服务器运行各种网络服务,如Web服务器(Apache、Nginx)、邮件服务器(Postfix、Sendmail)、文件服务器(Samba)等。

  7. 多用户和多任务: Linux是一个多用户系统,多个用户可以同时访问同一台机器。它也是一个多任务系统,可以同时运行多个进程。

  8. 安全性: Linux以安全性而闻名,系统管理员可以设置用户权限、访问控制列表(ACLs)等来确保系统的安全性。

  9. 开源和自由: Linux是开源软件,其源代码可以被任何人查看、修改和分发。大多数Linux发行版是免费提供的,用户可以自由选择、使用和分发。

  10. 发行版(Distribution): 由于Linux内核是开源的,不同的组织和社区创建了各种Linux发行版,例如Ubuntu、Debian、Fedora、CentOS、Arch Linux等。每个发行版都有自己的特点和包管理系统。

总体而言,Linux操作系统是一个强大、灵活且可定制的操作系统,广泛应用于服务器、嵌入式系统、超级计算机等各种领域。


🪐2 进程与任务管理的解密与实战

🌍1. 实验目的

  • 掌握常用进程管理指令。

  • 熟悉定时任务的设置。

  • 熟悉任务调度的操作。


🌍2. 实验准备

  • 获取 Linux 镜像 文件:下载适用于虚拟机的 Linux 镜像文件,比如 Ubuntu 21.04,从 Ubuntu 官方网站 获取。

  • 安装虚拟化软件:安装 VMware Workstation 或 Virtualbox,两者提供简便的虚拟机管理和配置。

  • 创建 Linux 虚拟机:打开虚拟化软件,按照指引创建新虚拟机。设置内存为 2GB 或更多,其余选项选择默 认值。加载下载好的 Linux 系统 ISO 镜像文件,启动虚拟机完成 Linux 系统安装。


🌍3. 实验内容

1. 进程管理

(1)练习进程状态查询命令ps.

ps的功能是显示进程的状态和信息,给出系统当前正在运行进程信息的快照。ps支持多种UNIX系统格式的个性化显示方式,其用法为:ps [options].

#长格式显示所有进程的信息

$ ps -el

#带命令行参数显示系统中的所有进程信息,并分屏显示

$ ps -Af | more

#查询与终端tty1相关的进程信息

$ ps -t /dev/tty1   #查询与用户(gjshao)相关的信息

以及$ ps -f -u gjshao #查询整个系统内的进程信息情况

$ ps -axj 

   

(2)练习进程管理命令systemctl、killall、pgrep/pkill、fuser、nice.

a. systemd是Linux系统最新的初始化系统(init),作用是提高系统的启动速度,尽可能启动较少的进程,尽可能并发启动更多进程。systemd对应的进程管理命令是systemctl.

systemctl list-unit-files #列出所用可用单元

systemctl list-units #列出所有运行中的单元

systemctl is-enabled crond.service #检查某个单元是否启用

systemctl list-unit-files ?Ctype=service # 列出所有服务

b. 按名称向进程发信号或终止进程的执行(killall).

c.根据进程名等属性查找进程和发送信号(pgrep/pkill).

d.确定使用指定文件或文件系统的进程(fuser).

e.设置进程的优先级(nice).

(3)练习可执行文件的特殊属性操作

1)新建文件

2)查看文件权限

3)设置、修改、查看文件特殊权限suid、sgid及sticky

新建文件、查看文件以及设置、修改、查看文件特殊权限suid

    

设置、修改、查看文件特殊权限sgid

设置、修改、查看文件特殊权限sticky

2. 任务管理

(1)利用at命令完成定时任务设置、查看并删除任务

使用at -V查看at版本,发现本地未部署因此我们使用apt install at进行安装。

(2)利用 crontab完成任务调度设置:每隔1分钟,将当前日期和日历追加到/home/mycal文件中。

步骤:

1)vim /home/my.sh,写入命令

2) 给my.sh增加执行权限

3)crontab -e ,增加任务

4)列出当前定时任务

5)删除定时任务

  


🌍4. 实验心得

  1. 身份切换与权限管理 通过实验,我学会了在特定情境下以不同身份(如root、其他用户)运行命令的方法。深入理解了SUID(Set User ID)、SGID(Set Group ID)以及Sticky权限的概念。SUID和SGID的应用使得文件在执行时能够获取文件自身的属主和属组权限,而不是执行者的权限。另外,Sticky权限的应用于公共目录,实现了对文件的保护,限制了用户对其他人文件的删除操作。

  2. 定时任务与任务调度 在实验中,我熟悉了常见的进程管理指令,并深入了解了定时任务的设置。通过使用crontab -e命令,我了解到root用户未设置定时任务时系统会显示“no crontab for root - using an empty one”提示。解决方法是选择合适的编辑器(如vim),并保存退出以创建或编辑定时任务。这使我更好地掌握了任务调度的实际操作。

  3. 技巧性操作与问题解决 在实验中,我学到了一些技巧性的操作,如使用ctrl+c无法退出时,选择vim编辑器后的正确退出方式(q退出,wq保存退出)。这种细致入微的操作技巧在实际应用中能够提高效率,确保任务顺利完成。同时,遇到问题时的解决思路也更加清晰,为系统管理和维护提供了有力的支持。


📝总结

Linux操作系统的领域就像一片未被勘探的信息大海,引领你勇敢踏入开源系统的神秘领域。这是一场独特的学习冒险,从基本概念到系统架构,逐步揭示更深层次的操作系统原理、命令行工具和高级系统管理的奥秘。

渴望挑战Linux操作系统的学习路径和掌握系统管理技术?不妨点击下方链接,一同探讨更多Linux操作系统的奇迹吧。我们推出了引领趋势的💻 Linux专栏:《探秘Linux | 操作系统解密》,旨在深度探索Linux的实际应用和创新。🌐🔍

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/286972.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

SpringSecurity-2.7中跨域问题

SpringSecurity-2.7中跨域问题 访问测试 起因 写这篇的起因是会了解到 SSM(CrosOrigin)解决跨域,但是会在加入SpringSecurity配置后,这个跨域解决方案就失效了,而/login这个请求上是无法添加这个注解或者通过配置(WebMvcConfig)去解决跨域,所以只能使用SpringSecurity提供的.c…

Jmeter实现分布式并发

Jmeter实现分布式并发,即使用远程机执行用例。 环境: VMware Fusion Windows系统是win7。 操作过程 1、Master在jmeter.properties添加remote_hosts 2、Slave在jmeter.properties添加server_port 同时把remote_hosts修改为和主机(Master…

c++初阶-------类和对象

作者前言 🎂 ✨✨✨✨✨✨🍧🍧🍧🍧🍧🍧🍧🎂 ​🎂 作者介绍: 🎂🎂 🎂 🎉🎉&#x1f389…

以问答的方式解释编译器与解释器

编译器 编译器是什么? 编译器是一种计算机程序,它可以将源代码转换成目标代码。编译器通常包括一个词法分析器、一个语法分析器和一个代码生成器。 编译器将源代码转换为可执行的目标代码,可以在计算机上运行。编译器通常还负责优化生成的代码…

polar CTF web 被黑掉的站

一、题目 二、解答 1、dirsearch 扫目录 看到shell.php和index.php.bak 一看就是爆破,字典都给了,最后得到为 nikel

【数据结构】二叉搜索(查找/排序)树

一、二叉搜索树基本概念 1、定义 二叉搜索树,又称为二叉排序树,二叉查找树,它满足如下四点性质: 1)空树是二叉搜索树; 2)若它的左子树不为空,则左子树上所有结点的值均小于它根结…

2023年终总结与展望

2023年终总结 自2019年3月13日入驻CSDN,至今四年零九个月。截至2023年12月31日,CSDN博客已发原创博文120篇,粉丝9822位,访问量超过176万次。 2022年12月31日数据情况: 2023年12月31日数据情况: 从 年终数…

跟着cherno手搓游戏引擎【2】:日志系统spdlog和premake的使用

配置: 日志库文件github: GitHub - gabime/spdlog: Fast C logging library. 新建vendor文件夹 将下载好的spdlog放入 配置YOTOEngine的附加包含目录: 配置Sandbox的附加包含目录: 包装spdlog: 在YOTO文件夹下创建…

再见2023,你好2024(附新年烟花python实现)

亲爱的朋友们: 写点什么呢,我已经停更两个月了。2023年快结束了,时间真的过得好快,总要写点什么留下纪念吧。这一年伴随着许多挑战和机会,给了我无数的成长和体验。坦白说,有时候我觉得自己好像是在时间的…

一起学docker(四)| 数据卷 + 简单应用部署(MySQL,Tomcat,Nginx,Redis)

Docker 容器数据卷 Docker容器产生的数据,如果不备份,那么当容器实例删除后,容器内的数据也就消失了。需要对数据进行持久化。 为了保存docker中的数据,可以使用数据卷。 是什么 卷就是目录或文件,存在于一个或多个…

HUAWEI华为荣耀MagicBook X 15酷睿i5-10210U处理器集显(BBR-WAH9)笔记本电脑原装出厂Windows10系统

链接:https://pan.baidu.com/s/1YVcnOP5YKfFOoLt0z706rg?pwdfwp0 提取码:fwp0 MagicBook荣耀原厂Win10系统自带所有驱动、出厂主题壁纸、系统属性专属LOGO标志、Office办公软件、华为/荣耀电脑管家等预装程序 文件格式:esd/wim/swm 安装…

深度学习|10.5 卷积步长 10.6 三维卷积

文章目录 10.5 卷积步长10. 6 三维卷积![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/b5bfa24f57964b0f81f9602f5780c278.png) 10.5 卷积步长 卷积步长是指每计算一次卷积,卷积移动的距离。 设步长为k,原矩阵规模为nxn,核矩阵…

Python 实现给 pdf 文件自动识别标题并增添大纲

一、背景: 客户方提供过来一个开放平台的pdf文档,文档里有几十个接口,没有大纲和目录可以定位到具体内容,了解整体的API功能,观看体验极度差劲,所以想使用Python代码自动解析pdf文档,给文档增添…

【Spring实战】17 REST服务介绍

文章目录 1. 为什么出现2. 拥有哪些优势3. Spring中的应用4. spring-boot-starter-data-rest总结 REST(Representational State Transfer)是一种软件架构风格,通常用于设计网络应用程序的服务接口。RESTful 服务是基于 REST 原则构建的网络服…

手机录屏没有声音?让你的录屏有声有色

“有人知道手机录屏怎么录声音吗?今天录制了一个小时的直播视频,后面查看的时候发现没有声音,真的非常崩溃,想问问大家有没有办法,解决这个问题。” 在手机录屏的过程中,有时候我们可能会面临录制视频没有…

socket实现视频通话-WebRTC

最近喜欢研究视频流,所以思考了双向通信socket,接下来我们就一起来看看本地如何实现双向视频通讯的功能吧~ 客户端获取视频流 首先思考如何获取视频流呢? 其实跟录音的功能差不多,都是查询电脑上是否有媒体设备,如果…

杰发科技AC7840——Eclipse环境DMA注意事项

0.序 用 户 使 用 DMA 时 , 所 有 DMA 搬 运 的 SRAM 数 据 都 必 须 存 放 在 SRAM_U 区 (0x20000000~0x2000EFFF) 。 1. 修改办法 第一步: RAM定义 /* Specify the memory areas */ MEMORY {FLASH (rx) : ORIGIN 0x00000000, LENGT…

多功能号卡推广分销管理系统 流量卡推广分销网站源码

一套完善,多功能,的号卡分销系统,多接口,包括运营商接口,无限三级代理,最简单易用的PHP~ 目前市面上最优雅的号卡系统!没有之一 软件架构说明 环境要求php7.3以上(建议低于8.0&…

面试题理解深层次的数组名

目录 引言 一:一维数组 举例如下 1.铺垫知识 数组名是数组首元素的地址,但是有两个特殊情况 (1)sizeof(数组名) (2)&数组名 2.分析讲解上述代码结果 2.字符数组 举例一如下 1.知识铺垫 …

Python内置库os和sys的常用方法汇总

更多Python学习内容:ipengtao.com Python是一门强大的编程语言,具有丰富的标准库,其中包括os和sys两个常用模块。os模块用于与操作系统交互,提供了许多文件和目录操作的方法,而sys模块用于与Python解释器进行交互&…