linux应用
爱学习的徐梦圆
这个作者很懒,什么都没留下…
展开
-
LINUX应用编程:一个简单的socket程序
服务器端的代码:server.cpp#include <stdio.h>#include <string.h>#include <stdlib.h>#include <unistd.h>#include <arpa/inet.h>#include <sys/socket.h>#include <netinet/in.h>int main(){ //创建套接字 int serv_so原创 2021-09-16 13:49:12 · 112 阅读 · 0 评论 -
linux 应用编程:创建线程
pthread_create函数声明 int (pthread_t*restrict tidp,const pthread_attr_t *restrict_attr,void*(*start_rtn)(void*),void *restrict arg);返回值 若成功则返回0,否则返回出错编号参数 第一个参数为指向线程标识符的指针。 第二个参数用来设置线程属性。 第三个参数是线程运行函数的地址。 最后一个参数是运行函数的参数。注意 在编译时注..转载 2021-09-15 14:20:27 · 280 阅读 · 0 评论 -
LINUX应用编程:文件读写
文件类型指针;FILE *fp用法:文件打开,系统自动建立文件结构体,并把指向它的指针返回来,程序通过这个指针获得文件信息,访问文件 文件关闭后,文件结构体被释放 打开文件:fopen原型:FILE *fopen(char *name,char *mode)功能:打开文件例:#include <stdio.h>int main(){ FILE *fp; fp = fopen("text.txt","w"); if(fp = ...原创 2021-09-12 23:58:05 · 271 阅读 · 0 评论 -
Linux 应用编程:信号通信
信号通信的理解信号的英文名字为signal,是一种进程间异步通信机制,同时也是Linux系统中非常常用的通信机制,许多人都把信号与中断类比,因为中断也是硬件触发CPU响应从而调用所设置的中断服务处理的一种事件。事件相当于一个软中断,进程不需要具体知道该信号什么时候到达,操作系统同样会中断对应接受消息的进程,然后去执行消息的处理,当然也可以忽略,所以跟中断时非常类似的。信号的来源根据信号的产生原因大致分为:硬件信号和软件信号硬件信号 比如键盘的按键按下等等一些外部硬件发生了.原创 2021-09-06 11:07:22 · 92 阅读 · 0 评论 -
Linux应用编程:管道通信
管道(pipe)是一种单向且先进先出形式的通信方式,一个进程向管道的尾部写入数据,而另一个进程从管道的头部读出数据,所以把这种通信方式比喻成管子再合适不过了。管道分为无名管道和有名管道两种无名管道名字上可以知道无名管道是没有标识的管道,其仅仅只能用于父子进程等具有血缘关系的进程通信,管道可以看成特定的文件,对于无名管道而言在文件系统中不可见,只存于内存中。有名管道有名管道算是无名管道的改进,由于无名管道通信限制较大,因此有名管道可以在任意两个进程中进行通信,该管道可以通过路径名来指出,且原创 2021-09-05 23:43:13 · 179 阅读 · 0 评论 -
linux应用:进程通信
IPC(Inter-Process Communication)进程间通信。在没有学习进程通信前总感觉两个程序之间需要交换数据,一般都是基于文件,比如一个进程向文本文件里面写数据,而另外一个进程读取数据,当然这样两个进程的读写就需要互斥,然而这样的读写文件需要不断的读写磁盘,属实效率不高,那么今天就学习一波实际的进程通信 :1.管道pipe分为有名管道和无名管道 无名管道只能用于父子进程之间,单向通信的工作方式,半双工。 有名管道则无亲属关系的进程之间,提供给任意关系的进程使用原创 2021-08-30 16:43:30 · 70 阅读 · 0 评论 -
LINUX应用编程:pid和ppid
PID和PPID进程PID是当操作系统运行进程时系统自动为其分配的唯一标识符,用于唯一标识此进程的一个整数,而PPID就是进程的父进程的PID。一旦进程生命周期结束,此时的PID便会被释放,可供以后的进程再次使用。PID= 0的进程 :通常也叫调度进程、idle进程,负责进程之间的调度和切换。该进程是内核的一部分,所有进程的根进程,一般我们是看不到该进程的。PID = 1的进程 :通常是init进程,Linux几乎所有的进程都是由父进程产生的,PID=1的进程为父原始进程,比...原创 2021-08-30 11:28:20 · 2943 阅读 · 0 评论 -
LINUX应用编程:fork和vfork
forkfork()通过复制调用进程来创建一个新进程。新进程被称为子进程;调用进程被称为父进程。特点:1.子进程和父进程在不同的内存空间中运行2.在fork()的时候,这两个内存空间有相同的特性内容,两个进程将执行fork()系统调用之后的下一条指令,子进程使用相同的CPU寄存器值。3.其中一个进程执行的内存写、文件映射和反映射不会影响另一个进程。返回值说明:fork成功后,子进程的PID在父进程中返回,在子进程中返回0。失败则返回返回-1,父进程不创建子进程。...原创 2021-08-30 14:54:52 · 169 阅读 · 0 评论