
linux
文章平均质量分 68
Bruce Jue
这个作者很懒,什么都没留下…
展开
-
解决【远程主机可能不符合 glibc 和 libstdc++ Vs code 服务器的先决条件】
可能是因为vscode不支持远程操作系统的版本,要么升级操作系统要么回退vscode版本。原创 2025-04-11 10:59:01 · 219 阅读 · 0 评论 -
解决vscode连接失败linux服务器问题--ssh试图写入的管道不存在
最近重新配置了一下linux环境,但服务器的ip是没变的,这下怎么样都不能再连接到原来的服务器上了,折腾了我一个小时。原因,电脑上存储了旧的远程服务器的信息,不匹配了。这样就可以清除原始主机的信息了。原创 2025-03-18 14:46:34 · 202 阅读 · 0 评论 -
计算机网络开发(3)——端口复用、I\O多路复用
由于有一个MSL,所以上一秒关闭的服务器,可能之前的端口还未释放;又或者是程序突然退出系统没有释放端口,导致端口被占用。当有新的服务想要用这个端口的时候,会出现错误:服务会出现。原创 2025-03-11 21:01:48 · 1077 阅读 · 0 评论 -
TCP三次握手,四次挥手;多进程、多线程实现并发服务器
SYN、ACK是TCP协议头里面的标志位同步仅在三次握手建立 TCP 连接时有效。当 SYN = 1 而 ACK = 0 时,表明这是一个连接请求报文段,对方若同意建立连接,则应在相应的报文段中使用 SYN = 1 和 ACK = 1。因此,SYN 置1 就表示这是一个连接请求或连接接受报文ACK:确认 ACK:仅当 ACK=1 时确认号字段才有效,TCP 规定,在连接建立后所有传达的报文段都必须把 ACK 置1ack。原创 2025-03-08 22:21:57 · 1425 阅读 · 0 评论 -
多线程开发
线程是允许程序并发执行多个任务的机制一个进程可以包含多个线程进程是CPU分配资源的最小单位,线程是操作系统调度运行的最小单位(LWP),在Linux下,线程的本质仍然是进程ps -lf pidpid是进程号一般情况,main函数在的线程成为主线程,其余成为子线程。原创 2025-03-04 16:41:50 · 897 阅读 · 0 评论 -
多进程开发(9) 守护进程
进程组就是一些相关的进程,他们的PGID是一样的;会话就是一些相关的进程组,他们的SID是一样的。原创 2025-03-02 19:49:15 · 309 阅读 · 0 评论 -
linux--多进程开发(8) 共享内存
IPCIPC。原创 2025-03-02 16:27:47 · 1025 阅读 · 0 评论 -
linux--多进程开发(7) 信号、相关函数、信号集及其操作和捕获、SIGCHLD解决僵尸进程
用户不能对系统默认的信号集进行直接操作,但是可以访问,或者是用自定义的信号集对它简介操作。类似类里面的隐私成员变量的保护。总共有5个sigempty清空信号集、sigfillset设置信号集全为1、sigaddset添加某个为1、sigdelset设置信号集某个信号为0、判断信号集某个信号为1否* 使用`man 3 sigemptyset`查看帮助* 功能:清空信号集中的数据,将信号集中的所有的标志位置为0* 参数:`set`,传出参数,需要操作的信号集* 返回值:成功返回0, 失败返回-1。原创 2025-03-02 13:20:38 · 902 阅读 · 0 评论 -
linux--多进程开发(6)IPC之内存映射
是指将磁盘中的数据映射到内存的虚拟地址空间之中,在内存中进行操作的内容会同步到磁盘中的文件中。原创 2025-02-27 16:52:08 · 418 阅读 · 0 评论 -
linux--多进程开发(5)--进程间通信(IPC)、linux间通信的方式、管道
每两个进程之间都是独立的资源分配单元,不同进程之间不能直接访问另一个进程的资源。但等,因此需要。原创 2025-02-25 22:41:50 · 338 阅读 · 0 评论 -
linux--多进程开发(4) 进程退出、孤儿进程、僵尸进程、进程回收wait()
一个标准C库的一个Linux自带的exit()原创 2025-02-25 21:50:04 · 848 阅读 · 0 评论 -
linux--多进程开发基础(3) exec函数族
所谓指的就是,C中没有函数重载的概念,所以就用不同的函数名实现相同的功能。原创 2025-02-25 17:04:10 · 312 阅读 · 0 评论 -
linux--多进程基础(2)GDB多进程调试(面试会问)
当detach-on-fork是默认也就是on的时候,info inferiors只会显示一个进程,因为另一个进程已经执行完毕,销毁。当在多进程调试的时候,默认是调试哪个进程,另一个进程就继续运行。默认是on,如果是off,调试当前进程的时候,其他进程被GDB挂起,就停住。一般默认情况下,GDB调试都是针对父进程调试的。将其中的命令记住就行。原创 2025-02-24 22:58:20 · 296 阅读 · 0 评论 -
linux-多进程基础(1) 程序、进程、多道程序、并发与并行、进程相关命令,fork
程序与进程的关系:一个程序可以用来创建多个进程。程序是一个文件,占用磁盘的空间,进程运行的时候,内核会分配CPU和内存给进程当作资源。从内核的角度看,进程是由。原创 2025-02-24 21:51:45 · 721 阅读 · 0 评论 -
linux -对文件描述符的操作dup、fcntl有五种
如果一开始传入的是O_RDONLY,然后后面再加上O_APPEND的话,还是不行的,因为只有只读和在尾部追加的权力,并没有写的权力,这个东西规定的死板的。eg:第二种改写文件描述符状态的操作示例。有五种用法,常用的两种。原创 2025-02-23 21:56:03 · 169 阅读 · 0 评论 -
linux--文件属性、目录的操作
记住linux里面, 一般失败了返回都是-1,这一点和windows里面不太一样。原创 2025-02-21 16:03:15 · 208 阅读 · 0 评论 -
linux--关于linux文件IO(2) open、read、lseek、stat
在linux中的读写文件有对应的命令。在终端中输入man 2 open可以打开open的手册页,注意man 2是linux自己的函数的一些手册,man 3是C库的手册mode这里为什么是8进制数?因为在linux中权限要么就是rwx,就是读写可执行的权限,那么这三个权限如果都有就是111,二进制来说就是7。那么一个文件不仅只在一个地方有权限,还有用户对他的权限、其他文件对他的权限等这样的权限使用的地方,有三个这样的地方,那么如果三个地方全都有权限就是0777,0代表八进制数,777代表都有权限,原创 2025-02-16 22:59:31 · 494 阅读 · 0 评论 -
linux--关于Linux的文件IO、虚拟地址空间概念、文件描述符
分为两个区域,用户区是用户可以进行操作的部分,受保护低地址就类似nullptr这样的地址存放,堆空间的存放是按照内存从小到大存放的,但栈空间就是按照内存地址从大到小存放的,然后用户区也会存放共享库也就是之前的那个动态库这样的内容,剩下再放一些命令行参数和环境变量什么的。内核区普通用户是不能进行读写的,存放着一些管理任务之类的,用户可以通过内核函数实现对硬件的数据进行读写什么的。当例如close3的那个a.txt后,3的位置就会释放,下一次对文件操作就会放在3的位置,因此这个就是。,占用的是内存的空间。原创 2025-02-16 16:02:56 · 451 阅读 · 0 评论 -
linux--关于makefile
变量名=变量值。原创 2025-02-15 21:58:07 · 209 阅读 · 0 评论 -
linux--GDB
notice:要想退出循环的话,光until可能会失败,原因是如果在循环体内设置了断点就不行,以及必须停在循环开头。第一列代表编号,第二列代表断点类型,是否生效在红色框,what代表其存在的位置信息。首先要生成一个可调试的执行文件,他不是嵌入源文件,而是嵌入源文件的行号什么的信息,,GCC是编译,GDB就是调试,二者组成一个完整的开发环境。然后就可以输入shell命令。是由GNU组织提供的一个。GDB有以下四个功能。进入这个可调试程序,原创 2025-02-16 14:34:48 · 405 阅读 · 0 评论 -
linux--关于GCC、动态库静态库
他们是不同的编译器,在linux中,生成可执行文件不像和windows一样。linux中是以**.out作为可执行文件**的从.c/.cpp–>.i文件–>.s文件–>.o文件–>.exe/.out文件可以用GCC去编译cpp只是会麻烦一些,但g++能直接链接到某些库,更方便。原创 2025-02-13 21:58:08 · 458 阅读 · 0 评论