模拟实现简单的shell 发表于 2018-12-13 | 分类于 Linux | 阅读次数: 字数统计: 429 | 阅读时长 ≈ 1 模拟实现一个简易的shell shell读取一行输入,建立一个新的进程,在这个进程中运行程序,并等待这个进程结束 过程分析 获取命令行 解析命令行 建立一个子进程(fork) 替换子进程(execvp) 父进程等待子进程退出(wait) 12345678910111213141516 ... 阅读全文 »
Linux-进程控制 发表于 2018-12-13 | 分类于 Linux | 阅读次数: 字数统计: 2k | 阅读时长 ≈ 8 进程控制进程创建 fork() 1.以父进程为模板创建一个子进程,父子进程代码共享,数据独有(写时复制技术) 2.fork的返回值:父进程返回子进程pid,子进程返回0 3.fork之前父进程独立运行,fork之后父子两个执行流分别执行,运行先后取决于cpu调度 12345678910111 ... 阅读全文 »
压缩字符串 发表于 2018-12-01 | 分类于 LeetCode | 阅读次数: 字数统计: 486 | 阅读时长 ≈ 2 leetcode:443.压缩字符串给定一组字符,使用原地算法将其压缩。 压缩后的长度必须始终小于或等于原数组长度。 数组的每个元素应该是长度为1 的字符(不是 int 整数类型)。 在完成原地修改输入数组后,返回数组的新长度。 进阶:你能否仅使用O(1) 空间解决问题? 示例 1: 输入:[“a ... 阅读全文 »
Linux_进程概念 发表于 2018-11-24 | 分类于 Linux | 阅读次数: 字数统计: 3.8k | 阅读时长 ≈ 14 进程概念进程初识 什么是进程 进程就是运行起来的程序:一个具有一定独立功能的程序在数据集合上的一次动态执行过程 每个进程都有自己的状态 每个进程都有自己的虚拟地址空间 进程是操作系统分配资源的基本单位 如何管理进程 操作系统要对进程进行管理 操作系统对进程的描述:PCB( ... 阅读全文 »
Linux_常用工具 发表于 2018-10-04 | 分类于 Linux | 阅读次数: 字数统计: 2.5k | 阅读时长 ≈ 9 Linux下的常用工具 我在这里找到了一个linux命令查询的网站:http://man.linuxde.net/ 编辑器 编辑器 特点 ed 行编辑器使用起来很不方便,每次只能对一行进行操作 pico pico很象DOS下的edit程序,打开之后,屏幕下方有操作的提示信息,功能 ... 阅读全文 »
Linux_基础命令 发表于 2018-09-28 | 分类于 Linux | 阅读次数: 字数统计: 2.1k | 阅读时长 ≈ 8 Linux 下的基本指令 Linux下一切皆目录 本文只对一些命令做出图示,其他的还需自行实验 对目录的操作ls 语法:ls [选项] [目录或文件] 功能:列出该目录下的所有子目录与文件 常用选项 123456789101112//这些命令可以结合使用ls -l //列出文件的详细信 ... 阅读全文 »
结构体 发表于 2018-09-09 | 分类于 C | 阅读次数: 字数统计: 1.6k | 阅读时长 ≈ 7 结构体 结构体的声明 1234struct tag //结构体类型,tag 结构体标签{ member-list;}variable-list; 特殊的声明:省略结构体标签(tag) 12345678910111213struct{ int a; ... 阅读全文 »
链表的基本操作 发表于 2018-09-09 | 分类于 C | 阅读次数: 字数统计: 984 | 阅读时长 ≈ 4 链表 本文中主要分析以下几个链表: 不带头节点的单链表、带头节点的双向循环链表 链表:一种链式存储的线性表,用一组地址任意的存储单元存放线性表的数据元素,称存储单元为一个节点 链表分类 1.单/双链表 2.带/不带头节点 3.循环/不循环链表 单链表 基本操作:初始化、销毁、插、删、查在删 ... 阅读全文 »