
linux
月亮很亮1395
还在翻越技术的山,走呀走,爬呀爬。
展开
-
linux -my ls
这里写代码片#include #include #include #include #include #include #include #include void main(){ char path[128] = {0}; getcwd(path,127);//获取当前路径 if(strlen(path) == 0)//路径位空时返回原创 2017-09-24 18:20:57 · 711 阅读 · 0 评论 -
Linux-my_bash(cd)
#include <stdio.h>#include <unistd.h>#include <string.h>#include <stdlib.h>#include <assert.h>#include <sys/types.h>#include <sys/utsname.h>#include <pwd.h>#define LEN 10char* Cmd[LEN] = {0};//原创 2017-09-28 16:55:17 · 676 阅读 · 0 评论 -
进程间通讯(3)—信号量&管道
信号量:相当于资源计数器,涉及到PV操作,用于进程间的同步,当进程 管道:(这里指有名管道)顾名思义,连接两个进程的通道,相当于进程之间的共享通道,进程可以在这里“存”东西,也可以“取”东西,但是取东西的前提是管道中有东西,就是说,当一个进程想打开一个空的管道文件时进程就会堵塞。 例子:初始信号量为0, B进程p操作堵塞A原创 2017-10-17 16:56:09 · 267 阅读 · 0 评论 -
进程间通信(1)-有名管道
1)进程间通信的方式: 管道(有名) 2)有名管道的通信原理:通过在内存上开辟一块全新的空间,两个相互独立的进程通过文件描述符操纵这块独立的空间 3)使用对象:相互独立的 进程 4)创建函数:mkfifo命令 mkfifo(), 5)使用的函数 : 1.打开管道文件 int open(char *filename ,int oflag)//返回文件标识符fi原创 2017-09-30 17:49:55 · 334 阅读 · 0 评论 -
进程间通信(2)-无名管道
1.无名管道 1.1 概念:相对于有名管道,没有名称,不能在任意进程之间使用,只能应用与父子进程之间,其原理是父子之间共享文件描述符,所以fork()之前打开无名管道 1.2创建并打开 Int pipe(int fd[2])//fcntl.h函数库里 Fd[0]写端 fd[1]读端 1 #include<stdio.h> 2 #inc原创 2017-10-03 17:58:50 · 216 阅读 · 0 评论 -
进程间通讯 (3)-信号量相关函数
信号量相关函数分析: 1.semget()信号创建函数,获取与某个键关联的信号量集标识原型:int semget(key_t key,int nsems,int semflg); key:所创建或打开信号量集的键值。 nsems:创建的信号量集中的信号量的个数,该参数只在创建信号量集时有效。 semflg:调用函数的操作类型,也可用于设置信号量集的访问权限,两者通过or表示返回值原创 2017-10-08 14:41:51 · 336 阅读 · 0 评论 -
进程间通信(3)-信号量的使用
上节课对信号量的相关函数semget() semctl() semop()做了了解(换不是很理解)这里用一个小例子来运用这三个函数进一步对信号量进行了解 目标实现:AB 进程使用同一信号量, 初始化型号量为0, ————-> B进程先进行p操作,原创 2017-10-13 20:30:56 · 467 阅读 · 1 评论