IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 系统运维 -> Linux相关的内容(七) -> 正文阅读

[系统运维]Linux相关的内容(七)

熟悉的二哈开头请添加图片描述
这一章讲述关于Linux的进程的具体内容

冯诺依曼体系结构

在这里插入图片描述
这就是计算机的基本组成成分,几乎包括所有的计算机。

输入设备

包括键盘,鼠标等外部输入的设备

存储器

这里指的是内存条

运算器和控制器

其都在cpu之中组成(cpu封装有这些东西)

输出设备

包括屏幕,声音🔊等输出消息的设备

操作系统

内核和其他程序组成,主要是起管理的作用


上面的内容是粗省略介绍了关于计算机

进程

基本概念

一个正在执行的程序实例

被存放在PCB之中(process control block)

在Linux中描述进程的结构体叫做task_struct。
task_struct是Linux内核的一种数据结构,会被装载在内存之中。
这种结构体包括进程的信息

task_struct的内容分类

标示符: 描述本进程的唯一标示符,用来区别其他进程。

状态: 任务状态,退出代码,退出信号等。

优先级: 相对于其他进程的优先级。

程序计数器: 程序中即将被执行的下一条指令的地址。

内存指针: 包括程序代码和进程相关数据的指针,还有和其他进程共享的内存块的指针。

上下文数据: 进程执行时处理器的寄存器中的数据[休学例子,要加图CPU,寄存器]。 

I/O状态信息: 包括显示的I/O请求,分配给进程的I/O设备和被进程使用的文件列表。

记账信息:可能包括处理器时间总和,使用的时钟数总和,时间限制,记账号等。

其他信息

上面的内容😱仅供参考,本人一些内容也不知道(复制粘贴来的,关于内容分类)

进行进程查看(反正内容一些,我没有看懂!)

通过指令进行导入系统文件

进程的信息可以通过 /proc 系统文件夹查看
在这里插入图片描述

左边为进程信息

通过系统调用获取进程标示符

#include <stdio.h>
#include <sys/types.h>
#include <unistd.h>
int main(){
 printf("pid: %d\n", getpid());
 printf("ppid: %d\n", getppid());
 return 0;
}

在Linux之中运行用gcc,然后可以得到结果!gcc的使用之后好会讲述!

通过fork初始创建进程

通过Linux的gcc,然后应用这个进程操作 
具体的操作我还没有看懂
让进程复制为两个完全相同的字子,父进程。而我们的操作都是在子进程之中进行的。
#include <stdio.h>
#include <sys/types.h>
#include <unistd.h>
int main()
{
 int ret = fork();
 printf("hello proc : %d!, ret: %d\n", getpid(), ret);
 sleep(1);
 return 0;
}

进程的状态

可以通过看进程代码可以看成进程的不同状态
R运行状态(running): 并不意味着进程一定在运行中,它表明进程要么是在运行中要么在运行队列
里。

S睡眠状态(sleeping): 意味着进程在等待事件完成(这里的睡眠有时候也叫做可中断睡眠
(interruptible sleep))。

D磁盘休眠状态(Disk sleep)有时候也叫不可中断睡眠状态(uninterruptible sleep),
在这个状态的进程通常会等待IO的结束。

T停止状态(stopped): 可以通过发送 SIGSTOP 信号给进程来停止(T)进程。
这个被暂停的进程可以通过发送 SIGCONT 信号让进程继续运行。

X死亡状态(dead):这个状态只是一个返回状态,你不会在任务列表里看到这个状态。

进程状态查看的指令

ps 【选项】 【参数】
选项
-A:列出所有的行程(执行的程序)
-w:显示加宽可以显示较多的资讯
-au:显示较详细的资讯
-aux:显示所有包含其他使用者的行程
au(x):输出格式 :
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
USER: 行程拥有者
PID: pid
%CPU: 占用的 CPU 使用率
%MEM: 占用的记忆体使用率
VSZ: 占用的虚拟记忆体大小
RSS: 占用的记忆体大小
TTY: 终端的次要装置号码 (minor device number of tty)
STAT: 该行程的状态:
D: 不可中断的静止 (通悸□□缜b进行 I/O 动作)
R: 正在执行中
S: 静止状态
T: 暂停执行
Z: 不存在但暂时无法消除
W: 没有足够的记忆体分页可分配
<: 高优先序的行程
N: 低优先序的行程
L: 有记忆体分页分配并锁在记忆体内 (实时系统或捱A I/O)
START: 行程开始时间
TIME: 执行的时间
COMMAND:所执行的指令
-U <用户识别码> :列出属于该用户的程序的状况,也可使用用户名称来指定,-u选项同-U
这些内容可以做为基本了解

僵尸进程

利用fork进行子父程序的创建。如果父程序被关闭,而子程序没有被关闭。
会造成内存泄露,从而造成不可改变的情况。必须要进行内存的回收。

环境变量

基本概念

环境变量(environment variables)
一般是指在操作系统中用来指定操作系统运行环境的一些参数,如:临时文件夹位置和系统文件夹位置等。

环境变量基本操作方式

1. echo: 显示某个环境变量值[重点]
2. export: 设置一个新的环境变量[重点]

这里设置一个环境变量为a
在这里插入图片描述

3. env: 显示所有环境变量[重点]

在这里插入图片描述
后面还有具体内容这里不进行描述

4. unset: 清除环境变量
6. set: 显示本地定义的shell变量和环境变量

在这里插入图片描述

常见的环境参数

PATH : 指定命令的搜索路径 [重点]
HOME : 指定用户的主工作目录(即用户登陆到Linux系统中时,默认的目录)[重点]
(不同的用户的环境参数的内容不相同,例如root和普通用户的参数)

这个为root用户的
在这里插入图片描述
这个外普通用户的root内容
在这里插入图片描述

SHELL : 当前Shell,它的值通常是/bin/bash。

环境变量的组织方式

每个程序都会收到一张环境表,环境表是一个字符指针数组,每个指针指向一个以’\0’结尾的环境字符串

在这里插入图片描述

环境变量通常是具有全局属性的

具有全局性可以被继承子程序下去
关闭一个程序之后,不可以查找到对应的环境变量。而重新运行这个程序环境变量会重新出现

关于Linux进程的相关内容到此为止。

这篇文章,仅仅用于自己做笔记相关内容有错误请指出。谢谢🙏,我们相互学习🏫!

  系统运维 最新文章
配置小型公司网络WLAN基本业务(AC通过三层
如何在交付运维过程中建立风险底线意识,提
快速传输大文件,怎么通过网络传大文件给对
从游戏服务端角度分析移动同步(状态同步)
MySQL使用MyCat实现分库分表
如何用DWDM射频光纤技术实现200公里外的站点
国内顺畅下载k8s.gcr.io的镜像
自动化测试appium
ctfshow ssrf
Linux操作系统学习之实用指令(Centos7/8均
上一篇文章      下一篇文章      查看所有文章
加:2022-02-24 15:44:33  更:2022-02-24 15:44:42 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/16 5:41:06-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码