Liunx的学习
文章平均质量分 78
Tyro_wang
一个励志成为很牛程序员的人,正在学习中,所写的文章是自己学习的内容,如有侵权,请联系。谢谢
展开
-
静态库和动态库的了解
静态库和动态库是程序开发中常用的两种库文件类型,它们各有特点,适用于不同的场景。原创 2024-05-07 21:04:52 · 358 阅读 · 0 评论 -
Linux进程通信之消息队列System V
消息队列(Message Queue)是一种在进程间进行通信的机制,是消息的链接表,允许一个进程向另一个进程发送数据。消息队列是通过在内核中创建的一个消息缓冲区来实现的,允许多个进程向同一队列发送消息,并从中读取消息。每一个消息队列都有唯一一个标识符(队列ID)来标识ftok函数用于生成一个与文件路径名和项目 ID 相关的键值函数原型:key_t ftok(const char *pathname, int proj_id);pathname:文件路径名,可以是一个现有的文件。原创 2024-01-09 14:01:00 · 991 阅读 · 0 评论 -
bind: address already in use端口占用问题的解决
相同的服务,由于异常退出服务关闭时未释放端口。再次启用服务时,无法启动。2、找到被占用的端口(确认该端口对应的服务是即将启用的服务)1、使用 netstat -tulpn 查看 端口使用情况。原创 2024-03-11 20:40:04 · 614 阅读 · 0 评论 -
Linux系统编程之进程
程序是静态的概念比如我们平时使用的qq、微信等都是程序,进程是程序的一次运行活动。一般来说我们的程序跑起来了,系统中就会相应的产生一个或多个进程每一个进程都有一个非负整数表示的唯一id,叫做pid,类似于我们的身份证pid=0;称为交换进程(swapper)作用:进程调度pid= 1;initial进程,作用:系统初始化编程调用getpid函数获取自身的进程标识符,getppid是获取父进程的进程表示符。原创 2024-01-09 14:00:19 · 1017 阅读 · 0 评论 -
Linux进程通信之信号
Linux 中信号是一种进程间通信的机制,用于在异步事件发生时通知进程。实际信号是软中断,许多重要的程序都需要处理信号。比如,终端用户输入了 ctrl+c 来中断程序,会通过信号机制停止一个程序。具体的信号名称可以使用来查看信号的名字以及序号,信号是从1开始编号的,不存在0号信号。kill对于信号0有特殊的应用。这里介绍一些常用的信号信号的处理有三种方法,分别是:忽略、捕捉和默认动作忽略信号:大多数信号都可以通过将其处理动作设置为 (表示忽略)来屏蔽,例如但是,对于 和 两个信号,是不能被忽略的。原创 2024-01-09 14:01:41 · 901 阅读 · 0 评论 -
Linux进程通信之信号量
最简单的信号量是只能取 0 和 1 的变量,这也是信号量最常见的一种形式,叫做二值信号量(Binary Semaphore)。而可以取多个正整数的信号量被称为通用信号量。Linux 下的信号量函数都是在通用的信号量数组上进行操作,而不是在一个单一的二值信号量上进行操作。1.创建或获取一个信号量集2.对信号量进行控制操作,其中cmd为SETVAL时用于初始化信号量的值。3.对信号量进行操作改变信号量的值。原创 2024-01-09 14:01:25 · 845 阅读 · 0 评论 -
Linux网络编程
字节序(Byte Order)指的是在多字节数据类型(如整数、浮点数)在存储或传输时字节的顺序。在计算机中,常见的字节序有两种:大端序(Big-Endian)和小端序(Little-Endian)。在大端序中,数据的高位字节存储在低地址,低位字节存储在高地址。例如,十六进制数0x1234在大端序中存储为0x12 0x34。在小端序中,数据的低位字节存储在低地址,高位字节存储在高地址。例如,十六进制数0x1234在小端序中存储为0x34 0x12网络字节序一般是大端字节序。原创 2024-03-03 17:08:07 · 832 阅读 · 0 评论 -
Linux系统编程之多线程
而运行于一个进程中的多个线程,它们彼此之间使用相同的地址空间,共享大部分数据,启动一个线程所花费的空间远远小于启动一个进程所花费的空间,而且,线程间彼此切换所需的时间也远远小于进程间切换所需要的时间。据统计,总的说来,一个进程的开销大约是一个线程开销的30倍左右,当然,在具体的系统上,这个数据可能会有较大的区别。是线程间方便的通信机制。线程有自己的堆栈和局部变量,但线程没有单独的地址空间,一个线程死掉就等于整个进程死掉,所以多进程的程序要比多线程的程序健壮,但在进程切换时,耗费资源较大,效率要差一些。原创 2024-03-03 17:07:01 · 939 阅读 · 0 评论 -
Linux进程间的通信(IPC)
进程间通信(IPC,Inter-Process Communication)是在操作系统中实现不同进程之间数据交流和共享的机制。在多进程环境中,不同进程可能运行在独立的内存空间中,IPC 提供了一些手段让它们之间能够协同工作、共享信息,从而实现更复杂的任务。以下是一些常见的 IPC 机制。原创 2024-01-09 14:05:21 · 340 阅读 · 0 评论 -
Linux文件编程
在Linux文件可分为动态文件与静态文件,动态文件是我们打开的文件在缓冲区里面的文件,而静态文件存放在外存当中。:如果成功,该函数返回一个 size_t 对象,表示元素的总数,该对象是一个整型数据类型。O_TRUNC 属性去打开文件时,如果这个文件中本来是有内容的,而且为只读或者只写成功打开,则长度截短为0(就是把里面的内容都删掉)返回值:如果成功则返回读取到的字节数,返回0则表示光标位置在文件的尾,发生错误则返回-1。-- 这是指向 FILE 对象的指针,该 FILE 对象指定了要被关闭的流。原创 2023-12-25 20:38:26 · 1043 阅读 · 0 评论 -
Linux--Ubuntu常用命令
mv 1、移动 mv *c demo\ 将所有文件剪切到demo文件夹下 2、重命名 mv a.c b.c 将a.c 重命名为b.c。ls -a 列出所有文件夹包含隐藏的文件和文件夹 .代表当前文件夹 ..代表上层文件夹。cp 复制指令或拷贝指令 cp b.c test.c 将b.c拷贝成test.c。vi+文件名 进入vi编辑默认进入的是命令行模式。man + 一个数字+需要查找的关键字 唤出关键字的手册。pwd 显示当前文件夹的路径。原创 2023-09-25 18:03:57 · 142 阅读 · 1 评论