笔记
仪宝
这个作者很懒,什么都没留下…
展开
-
html 网页 立方米m³ n次幂 乱码问题
立方米 m³转载 2022-06-13 16:06:34 · 276 阅读 · 0 评论 -
IPC 进程间通信 匿名管道 命名管道
IPC(进程间通信):1、为什么需要通信:因为进程间都是独立的运行空间(内存空间),所。以不能进程间不能直接通信。2、通信方式:1、管道: 匿名管道: 命名管道:2、信号:3、共享内存:4、消息队列:5、Socket:匿名管道“有关系”的进程之间通信(父子进程)1、创建管道:#include <unistd.h> int pipe(int pipefd[2]);形参: pipefd[2]:存储的是文件描述符,其中pipefd[0]--读端,pipefd[1原创 2021-01-21 17:31:23 · 154 阅读 · 0 评论 -
进程控制 僵尸进程 孤儿进程 execv函数族
僵尸进程:子进程退出,父进程不为子进程wait(释放子进程的资源)问:为什么需要父进程来为子进程释放资源父子进程是两个不同的进程(独立的空间),父需要需要得到子进程的退出状态,所以需要父进程来释放问:如何释放父进程调用wait来释放。代码实现#include<stdio.h>#include<stdlib.h>#include <sys/types.h>#include <sys/wait.h>void main(){ int pid原创 2021-01-21 17:23:15 · 144 阅读 · 0 评论 -
linux 通过dup dup2 实现重定向
进程描述符:task文件描述符:就是数组下标值int open(char* path,int falg);返回值:返回最小且未被占用的文件描述符下标(文件描述符)1、在应用层,一般打开文件时,返回为3因为每个应用层的程序打时,都不可缺少键盘/屏幕/错误输出,所以init进程在运行进程时,都会为你打开"键盘/屏幕/错误输出"三个文件(一切设备皆文件)2、上述函数将文件描述符引用计数+1dup函数复制文件描述符:1、int dup(int oldfd)作用:将oldfd文件描述符复制一份放原创 2021-01-19 17:32:59 · 449 阅读 · 0 评论 -
进程控制 父进程子进程 fork pid
进程:正在运行的程序(分配资源:内存,CPU,IO等)程序:有限指令的集合(静态:没有执行,存放在外存)并发:多个任务“同时”执行。(处理器某一时刻最多只运行一个进程)1、进程:进程描述符:代码进程的资源struct task_struct{ int pid;//代表进程的标识};1、获取进程PID:int getpid(); 获取父进程PIDint getppid();2、创建子进程:父子进程“并发”执行 int fork();返回值: 在父进程中:返回子进程的pid原创 2021-01-19 17:21:40 · 1800 阅读 · 0 评论 -
linux 文件io 系统接口
文件IO:C语言:文件IOfopen(“a.txt”,“r”);---->open(“a.txt”,O_RDONLY)C++语言:IO流上述IO是各种高级语言为用户提供的接口PS:高级语言实现的接口本质是调用系统接口Linux文件IO:1、Linux文件接口:是一个操作系统,必须为用户提供操作的接口,上面语言是调用的系统的提供的文件操作接口(底层)2、操作步骤:1、打开 int open(const char *pathname, int flags, mode_t mode);原创 2021-01-19 09:06:31 · 269 阅读 · 0 评论 -
shell脚本基本语法
Shell脚本:Shell的集合,用于完成某一个事件后缀名: .sh执行Shell脚本时,必须具备x权限 chmod +x脚本解释器:将Shell命令执行 bash sbash#代表注释符号 #!特殊的声明脚本解释器执行的顺序:从上往下逐条执行Shell脚本的规范:#!/bin/bash #必须声明脚本解释器输入输出(每一个程序至少有一个输入输出)输出...原创 2019-11-15 14:29:03 · 137 阅读 · 0 评论 -
TCP/IP的三次握手和四次挥手 图解
建立连接时握手三次第一次握手发送方发送信息,第二次握手发送接收方确认接收,发送信息,第三次握手发送方确认接收,开始通话断开连接时挥手三次第一次挥手发送方关闭发送,第二次挥手接收方发送未发送完的内容,第三次挥手接收方通知发送方发送完成关闭发送,第四次由发送方断开连接,接收方被断开连接。...原创 2021-01-08 17:21:08 · 95 阅读 · 0 评论 -
将int 的每一个字节内容输出打印
int a=67305985;char *pa=(char*)&a;printf("%d,%d,%d,%d\n",*pa,*(pa+1),*(pa+2),*(pa+3));原创 2020-02-20 11:09:39 · 1079 阅读 · 0 评论 -
完成string类(构造函数,拷贝,析构,重载运算符)
#include<iostream>#include<string.h>using namespace std;class mystring{public: mystring() { this->buf=new char('\0'); } ...原创 2020-02-20 11:06:48 · 134 阅读 · 0 评论