![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Linux系统编程
文章平均质量分 73
Luish Liu
不断努力的刘同学
不为失败找借口,只为成功找出路!
目前正在学习人工智能方面的知识,希望有兴趣的小伙伴可以一起交流,共同进步。
RM选手
展开
-
网络编程.
网络编程 使用网络编程实现多机通讯 TCP/UDP对比 TCP面向连接(如打电话要先拨号建立连接);UDP是无连接的,即发送数据之前不需要建立连接。 TCP提供可靠的服务。也就是说,通过TCP连接传送的数据,无差错,不丢失,不重复,且按序到达;UDP尽最大努力交付,即不保证可靠交付。 TCP面向字节流,实际上是TCP把数据看成一串无结构的字节流;UDP是面向报文的,UDP没有阻塞控制,因此网络出现拥塞不会使源主机的发送速率降低(对实时应用很有用,如IP电话,实时视频会议等)。 每一条TCP连接只能是点到点原创 2021-11-14 11:17:26 · 1361 阅读 · 0 评论 -
初识线程.
典型的UNIX/Linux进程可以看成只有一个控制进程:一个进程在同一时刻只做一件事情。有了多个控制线程后,在程序设计时可以把进程设计成在同一时刻做不止一件事情,每个线程各自处理独立的任务。 进程是程序执行时的一个实例,是担当分配系统资源(CPU时间,内存等)的基本单位。在面向线程设计的系统中,进程本身不是基本运行单位,而是线程的容器。线程是操作系统能够进行运算调度的最小单位,是进程中的实际运作单位。 进程有独立的地址空间,一个进程崩溃后,在保护模式下不会对其他进程产生影响,而线程只是一个进程中的不同执行路原创 2021-11-08 16:07:22 · 647 阅读 · 0 评论 -
进程(三)
exec族函数 为什么要用exec族函数,有什么用? 一个进程希望复制自己,使父,子进程同时执行不同的代码段。这在网络服务进程中是常见的——父进程等待客户端的服务请求。当这种请求到达时,父进程调用fork,使子进程处理此请求。父进程则继续等待下一个服务请求到达。 一个进程要执行一个不同的程序。这对shell是常见的情况。在这种情况下,子进程从fork返回立即调用exec。 功能 在调用进程内部执行一个可执行文件。可执行文件既可以是二进制文件,也可以是任何Linux可执行的脚本文件。 函数原型 #incl原创 2021-09-25 00:02:05 · 73 阅读 · 0 评论 -
进程(二)
进程(二) vfork函数也可以创建进程 vfork与fork的区别: vfork直接使用父进程存储空间,不拷贝; vfork保证子进程先运行,当子进程调用exit退出后,父进程才执行。 // fork #include <stdio.h> #include <sys/types.h> #include <unistd.h> int main() { pid_t pid; pid = fork(); if(pid &原创 2021-09-19 22:23:14 · 89 阅读 · 0 评论 -
进程(一)
什么是程序,什么是进程,有什么区别? 程序是静态的概念,gcc xxx.c -o pro;磁盘中生成pro文件,叫做程序。 进程是程序的一次运行活动,通俗点意思是程序跑起来了,系统中就多了一次进程。 如何查看系统中有哪些进程? 使用ps指令查看,在实际工作中,配合grep来查找程序中是否存在某一个进程 使用top指令查看,类似windows任务管理器 什么是进程标识符? 每个进程都有一个非负整数表示唯一的ID,叫做pid,类似身份证 Pid = 0:称为交换进程(swapper) 作用:进程调度 Pi原创 2021-09-13 14:40:26 · 103 阅读 · 0 评论 -
文件(二)
文件描述符 对于内核而言,所有打开文件都由文件描述符引用。文件描述符是一个非负整数。当打开一个现存文件或者创建一个新文件时,内核向进程返回一个文件描述符。当读写一个文件时,用open和creat返回的文件描述符标识该文件,将其作为参数传递给read和write;按照惯例,UNIX shell使用文件描述符0与进程的标准输入相结合,文件描述符1与标准输出相结合,文件描述符2与标准错误相结合。STDIN_FILENO,STDOUT_FILENO,STDERR_FILENO这几个宏代替了0,1,2这几个数。 文原创 2021-02-10 22:09:52 · 111 阅读 · 0 评论 -
文件(一)
LINUX系统: 打开:open 读写:write/read 光标定位:lseek 关闭:close #include <sys/types.h> //查看这三个头文件可以输入man 2 open #include <sys/stat.h> #include <fcntl.h> int open(const char *pathname, int flags); int open(const char *pathname, int flags, mode_t mode)原创 2021-02-08 22:04:15 · 120 阅读 · 0 评论