- 博客(14)
- 资源 (2)
- 收藏
- 关注
原创 进程间通信方式:system V的IPC对象(共享内存(share memory) 消息队列(message queue) 信号灯集)
进程间通信方式传统进程间通信方式: 无名管道 有名管道 信号 system V的IPC对象: 共享内存(share memory) 消息队列(message queue) 信号灯集 BSD: 套接字ipcsipcs -m :查询显示当前系统的共享内存ipcs -q :查询显示当前系统的消息队列ipcs -s :查询显示当前系统的信号灯集ipcrm -m shmid:删除某个共享内存ipcrm -q msgid:删除某个消息
2021-07-09 10:58:41 300
原创 传统的进程间通信(无名管道、有名管道、信号)
传统的进程间通信(无名管道、有名管道、信号)1.无名管道 (pipe)查看命令: man 2 pipe头文件:#include <unistd.h>函数原型: int pipe(int pipefd[2]);pipefd[2] :无名管道的两个文件描述符,int型的数组,大小为2,pipefd[0]为读端,pipefd[1]为写端返回值:成功:返回0失败:返回-12.无名管道的特点: a、没有名字,因此无法使用open()打开 b、只能用于亲缘进程间(如父子进
2021-07-09 10:47:03 314
原创 用有名管道实现两个线程间的通信,制作一个简易的本地聊天室
用有名管道实现两个线程间的通信,制作一个简易的本地聊天室需要在当前文件路径下创建两个管道文件 mkfifo fifo/fifo1读端#include <stdio.h>#include <string.h>#include <stdlib.h>#include <unistd.h>#include <pthread.h>#include <sys/types.h>#include <sys/stat.h>
2021-07-09 10:18:16 294
原创 用有名管道实现两个进程间的通信,制作一个简易的本地聊天室
用有名管道实现两个进程见的通信,制作一个简易的本地聊天室在运行前,需要在当前路径下创建两个管道文件,(make fifo/make fifo1)类客户端#include <stdio.h>#include <string.h>#include <stdlib.h>#include <unistd.h>#include <sys/stat.h>#include <sys/types.h>#include <fc
2021-07-09 10:13:25 471
原创 C语言用线程的方式实现cp函数--mycopy
C语言用线程的方式实现cp函数–mycopy前面介绍了文件io和标准io的mycopy函数,现在我们用线程的方式从命令行传参来实现mycopy函数/*=============================================================================## 创建者: 小卫## Last modified: 2021-07-06 19:34## Filename: practice.c## Description(描述): 用线程从命令行
2021-07-06 19:44:36 568
原创 线程的基本概念以及相关函数
线程的基本概念以及相关函数【1】线程的概念1. 每个用户进程有自己的虚拟地址空间2. 系统为每个用户进程创建一个 task_struct 来描述该进程 struct task_struct 3. task_struct 和地址空间映射表一起用来表示一个进程4. 由于进程的虚拟地址空间是私有的,因此进程切换开销很大5. 为了提高系统的性能,linux引入轻量级进程, 起名为线程6. 在同一个进程中创建的线程共享该进程的地址空间7. Linux里同样用task_struct来描述一个线程。
2021-07-06 19:32:42 200
原创 C语言进程概念,孤儿进程,僵尸进程,exec函数族,守护进程
C语言进程概念,孤儿进程,僵尸进程,exec函数族【进程】进程进程是一个程序的一次执行的过程每一个进程都分配一个虚拟的4G内存0-3G : 用户3G-4G : 内核进程和程序的区别程序是静态的进程是动态的进程的内存管理正文段、用户数据段、系统数据段进程号唯一的标识一个进程进程的类型交互进程(ctrl+z / jobs -l / bg / fg / & / kill -l)ctrl + z : 使进程进入挂起状态(T), 被挂起的进程称为作
2021-07-05 18:06:00 384
原创 Linux静态库和动态库的制作
Linux静态库和动态库的制作我们在Linux中做一些项目的时候,有可能会制作自己的库,下面为大家简单介绍一下动态库和静态库的制作方法:1、什么是库 /lib/i386-linux-gnu /usr/include 1. 库是一种加密的二进制文件 2. 需要被操作系统载入内存运行 3. 相比于可执行程序,它不可以直接运行 4. window 和 linux 都有自己的库,但是不兼容 5. 库有两种,1. 静态库 2. 共享库(又叫动态库) 了解: 静态库 动态库 linux
2021-07-05 11:11:33 104
原创 用C语言标准IO实现Linux中的cp命令
用C语言标准IO实现Linux中的cp命令前面为大家介绍了文件IO实现mycp,现在为大家介绍一下标准IO的方式:#include <stdio.h>#include <string.h>#include <stdlib.h>int main(int argc, const char *argv[]){ if (argc < 3) { printf("请输入文件名\n"); } // 以只读的方式打开要复制的文件 FILE *fp1
2021-07-03 19:09:56 445
原创 用C语言写一个查单词的小demo
用C语言写一个查单词的小demo#include <stdio.h>#include <string.h>#include <stdlib.h>int main(int argc, const char *argv[]){ // 用只读的方式打开我们的单词库 FILE *fp = fopen("dict.txt","r"); if (NULL == fp){ perror("fopen"); return -1
2021-07-03 17:45:46 50738 6
原创 用C语言文件IO实现Linux中的cp命令
用C语言实现Linux中的cp命令在Linux中我们经常用到cp这个命令,现在我们不妨自己用C语言写一个自己的cp命令,上代码:#include <stdio.h>#include <string.h>#include <stdlib.h>#include <sys/types.h>#include <sys/stat.h>#include <fcntl.h>// 用命令行传参的方式来模拟在Linux中使用cp命令的场景
2021-07-03 17:29:55 494 1
原创 在Linux中用C语言写一个自己的ls -l命令
在Linux中用C语言写一个自己的ls-l命令在Linux中我们会经常使用ls -l 这条命令来查看文件信息,但是这个命令到底是怎么实现的呢?下面我就带大家用C语言来实现ls -l 这条命令,直接上代码吧:#include <stdio.h>#include <string.h>#include <stdlib.h>#include <sys/types.h>#include <sys/stat.h>#include <fcnt
2021-07-03 17:11:21 1005 2
原创 Python爬虫批量下载国内某网站图片
用python批量下载国内某网站的图片 在这里用到了requests来发送请求 ,json,re,bs4来对数据进行解析,下面是源代码示例import requestsimport jsonimport refrom tqdm import tqdmfrom bs4 import BeautifulSoupdef Spaider(num, page): # 起始URL url = 'https://webapi.8btc.com/bbt_api/news/list?num=
2020-09-11 13:52:19 518
原创 网易云音乐爬虫代码示例
网易云音乐爬虫代码示例以下是代码示例import osimport requestsfrom bs4 import BeautifulSoupurl = 'https://music.163.com/playlist?id=5166962280'headers = { 'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:80.0) Gecko/20100101 Firefox/80.0'}if not os.path
2020-09-11 13:28:07 4024 6
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人