![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Linux
文章平均质量分 81
yxtxiaotian
这个作者很懒,什么都没留下…
展开
-
工作问题经验整理(3)——使用"/proc/self/exe"获取程序绝对路径
1、问题描述:(1)原来在linux执行可执行文件Tester,启动脚本都是直接cd到Tester所在路径(假设为路径A),然后再启动Tester;(2)这次在其他目录(假设为路径B)启动ester,发现Tester在打开某些配置文件的时候失败,提示找不到对应文件;2. 问题分析:跟踪代码发现,Tester执行程序 获取到的运行目录出错,获取到了路径B的绝对路径,并没有获取到Te...原创 2019-09-20 16:53:44 · 5946 阅读 · 0 评论 -
linux ls -l 详解
以root的家目录为例:可以看到,用ls -l命令查看某一个目录会得到一个7个字段的列表。第1行:总计(total)Total后面的数字是指当前目录下所有文件所占用的空间总和。可以使用ls –lh查看,也可使用ls –alh查看。第1字段: 文件属性字段-rw-r--r-- 1 root root 762 07-29 18转载 2017-04-05 16:18:54 · 291 阅读 · 0 评论 -
Linux NFS服务器的安装与配置
一、NFS服务简介 NFS 是Network File System的缩写,即网络文件系统。一种使用于分散式文件系统的协定,由Sun公司开发,于1984年向外公布。功能是通过网络让不同的机器、不同的操作系统能够彼此分享个别的数据,让应用程序在客户端通过网络访问位于服务器磁盘中的数据,是在类Unix系统间实现磁盘文件共享的一种方法。 NFS 的基本原则是“容许不同的客户端及服务端通过一组转载 2017-04-05 15:44:29 · 292 阅读 · 0 评论 -
UDP主要丢包原因及具体问题分析
【转自】http://blog.csdn.net/libaineu2004/article/details/48039599文章来源:http://www.2cto.com/net/201311/254835.htmlUDP主要丢包原因及具体问题分析 一、主要丢包原因 1、接收端处理时间过长导致丢包:调用recv方法接收端收到数据后,处理数据转载 2017-04-13 09:58:26 · 1048 阅读 · 0 评论 -
linux无名管道和有名管道
1)无名管道:管道是半双工的,数据只能向一个方向流动;需要双方通信时,需要建立起两个管道;只能用于父子进程或者兄弟进程之间(具有亲缘关系的进程)。 单独构成一种独立的文件系统:管道对于管道两端的进程而言,就是一个文件,但它不是普通的文件,它不属于某种文件系统,而是自立门户,单独构成一种文件系统,并且只存在与内存中。 数据的读出和写入:一个进程向管道中写的内容被管道另一端的进程读转载 2017-04-07 16:27:04 · 12745 阅读 · 0 评论 -
Linux的ioctl和fcntl
【转自】http://blog.csdn.net/liuxingen/article/details/468984951. 一切都是文件在Linux中一切设备都当作文件,也就是说一切设备都抽象成一个文件,能够提取出来一些共同的特征。文件的一些最常用的操作,如打开、读取、写入等,Linux都提供了单独的系统调用(open、read、write)供程序使用。2. fcntl转载 2017-04-07 14:57:11 · 306 阅读 · 0 评论 -
linux下使用makefile问题集合
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++问题1. make编译的时候出现如下错误:make: *** 没有规则可以创建“xxxx.o”需要的目标“gcc”。 停止。解决方法:查看Makefile文件,可以看到:xxxx.o: xxxx.c \ xxxx.h \原创 2017-02-09 14:29:58 · 516 阅读 · 0 评论 -
Linux基础介绍
【以下内容总结自】:http://www.92csz.com/study/linux/ Linux的创始人Linus Torvalds。Linux的官方标准发音为['linəks]。Linux和Unix是非常像的,Linux就是根据Unix演变过来的。Linux是免费的,其实只是说Linux的内核免费。在Linux内核的基础上产生了众多的Linux版本。Linux的发行版说简单点就是将转载 2016-05-08 09:01:06 · 288 阅读 · 0 评论 -
《posix多线程编程》笔记(六)
26 多线程和信号原创 2017-02-03 16:12:12 · 229 阅读 · 0 评论 -
linux下操作问题集合
===========================================================1. 问题:编译,生成和安装库文件(库文件安装到"/usr/local/lib")之后,程序报"Cannot find xxxx",找不到库文件;原因:linux中默认库路径是不包含"/usr/local/lib"的,需要手动添加;解决方法:(修改配置"cd /etc/原创 2017-03-02 10:28:12 · 383 阅读 · 0 评论 -
linux下错误使用pthread_mutex_lock导致程序奔溃问题分析
在进行程序开发过程中,错误使用了pthread_mutex_lock导致程序概率性的奔溃,奔溃时报如下错误:问题分析:本文分析在Linux应用程序中错误使用pthread_mutex锁时会概率性触发SIG_ABRT信号而导致程序崩溃(库打印输出 :Assertion `mutex->__data.__owner == 0' failed)的原因。首先给出出错的示例程序:转载 2017-11-22 23:26:39 · 39973 阅读 · 2 评论 -
服务器中判断客户端socket断开连接的方法
1, 如果服务端的Socket比客户端的Socket先关闭,会导致客户端出现TIME_WAIT状态,占用系统资源。所以,必须等客户端先关闭Socket后,服务器端再关闭Socket才能避免TIME_WAIT状态的出现。2, 在linux下写socket的程序的时候,如果尝试send到一个disconnected socket上,就会让底层抛出一个SIGPIPE信号。client端通过 pi转载 2017-11-23 00:21:57 · 8124 阅读 · 0 评论 -
工作问题经验整理(2)——带版本号so库文件含义和主程序链接so库机制
一、(20190412)1、问题描述:库的生成:项目工程 TestProj 中使用zlog开源日志库,使用两种方式编译生成so库:A:使用源码中自带makefile进行编译,会产生libzlog.a/libzlog.so/libzlog.so.1/libzlog.so.1.1(A) 四个文件; B:通过zlog 中的源码文件,自己在 eclipse 中创建 生成so库 的项目工程 ...原创 2019-04-12 11:43:51 · 2449 阅读 · 0 评论 -
Linux下uboot学习备记
1、uboot不可以在挂载目录下进行配置和编译uboot在编译之前需要先根据不同开发板进行配置,比如"make x210_sd_config"进行配置之后,才可以执行"make"进行编译;注意uboot在Makefile文件中引入了uboot编译配置文件mkconfig,mkconfig内部会有创建符合链接的指令,所以配置编译uboot的时候不可以在挂载目录下进行【使用虚拟机编译windows...原创 2018-11-26 10:51:27 · 319 阅读 · 1 评论 -
Linux内存管理之SLAB内存分配器
目录一、前言1、 为什么需要SLAB内存分配器2、 SLAB内存分配器作用3、 SLAB内存分配器工作机制4、 SLAB相关说明 (1)SLAB与伙伴(Buddy)算法 (2)SLAB与对象 (3)SLAB与per-CPU缓存二、SLAB内存分配器结构分析1、SLAB内存分配器高层组织结构2、 kmem_cache定义3、km...原创 2018-11-20 09:23:28 · 1279 阅读 · 0 评论 -
kmalloc分配内存大小的限制和宏的一种用法
kmalloc是通过cache来实现的, 只不过每次kmalloc的大小不同, 因此是从不同的cache中分配:/* include/linux/slab.h */// 注意kmalloc是在头文件中定义的static inline void *kmalloc(size_t size, gfp_t flags){ if (__builtin_constant_p(size)) ...转载 2018-11-19 17:58:17 · 1112 阅读 · 0 评论 -
kmalloc/kzalloc/vmalloc/malloc和get_free_page的区别
目录1. 简述2. linux内存分布图:2.1 kmalloc2.1.1 kmalloc和get_free_page申请内存方式2.1.2 kmalloc的用法3、kzalloc4、vmalloc5、kmalloc、get_free_page和vmalloc的区别:6、用户空间申请内存malloc1. 简述kmalloc申请的是较小的连续的物理内存,...转载 2018-11-19 09:31:07 · 398 阅读 · 0 评论 -
Linux下5种IO模型以及阻塞/非阻塞/同步/异步区别
目录1. 引言2. Linux下的五种I/O模型2.1 I/O发生时涉及的对象和阶段2.2 阻塞I/O模型(blocking I/O) 2.3 非阻塞I/O模型(non-blocking IO)2.4 I/O复用模型(I/O multiplexing)2.5 信号驱动I/O模型(Signal-driven I/O)2.6 异步I/O模型(Asynchronous I...原创 2018-11-14 17:47:11 · 4977 阅读 · 1 评论 -
select与阻塞/非阻塞IO
目录1、引言(select应用场景)2、select意义3、select 说明4、 select使用例子5、浅谈select阻塞机制1、引言(select应用场景)很多人把【阻塞/非阻塞socket】和select联系在一起,需要指明select函数与【阻塞/非阻塞socket】没有半毛钱的关系。select函数本身是阻塞的(与socket是否阻塞并没有关系), 直到:...原创 2018-11-14 10:57:11 · 5388 阅读 · 0 评论 -
《posix多线程编程》笔记(五)
22 创建线程私有数据23 线程和核实体24 多线程下的fork解析25 多线程下的stdio标准输入输出流原创 2017-02-03 16:10:50 · 219 阅读 · 0 评论 -
《posix多线程编程》笔记(四)
18 创建和等待条件变量19 多线程下的一次性初始化20 线程#互斥量#条件变量的属性21 线程取消和清除操作原创 2017-02-03 16:07:00 · 350 阅读 · 0 评论 -
《跟我一起写makefile》(笔记2--makefile书写规则)
本系列博文根据陈皓《跟我一起写makefile》整理,只为方便自己以后复习回顾,感谢陈皓,致敬陈皓!陈皓博客网站:http://coolshell.cn/3 makefile书写规则转载 2017-02-08 16:52:59 · 270 阅读 · 0 评论 -
linux下使用动态库步骤
linux下使用动态库步骤:==============================================================1. linux下动态库(.so)文件默认的查找路径:/lib和/usr/lib和/usr/local/lib 里的库直接用-l参数就能链接。=======================================原创 2017-02-08 16:42:57 · 1596 阅读 · 0 评论 -
VMware虚拟机三种网络模式详解
由于Linux目前很热门,越来越多的人在学习Linux,但是买一台服务放家里来学习,实在是很浪费。那么如何解决这个问题?虚拟机软件是很好的选择,常用的虚拟机软件有VMware Workstations和VirtualBox等。在使用虚拟机软件的时候,很多初学者都会遇到很多问题,而VMware的网络连接问题是大家遇到最多问题之一。在学习交流群里面,几乎每天都会有同学问到这些问题,写这篇详解也是因为群转载 2017-01-06 11:47:55 · 320 阅读 · 0 评论 -
linux的shell命令简介
1. 提示符的最后一个字符是“#”, 而不是“$”, 那么这个终端会话就有超级用户权限;2. X 窗口系统 (使 GUI 工作的底层引擎);3. 图形桌面环境(像 KDE 或 GNOME);4. linux文件名大小写敏感,没有文件扩展名;5. 大多数命令使用的选项,是由一个中划线加上一个字符组成,例如,“-l”,但是许多命令,包括来自于 GNU 项目的命令,也支持长选项,长选项由原创 2016-11-21 14:26:20 · 509 阅读 · 0 评论 -
Linux下常用的C/C++开源Socket库
1. Linux Socket Programming In C++ : http://tldp.org/LDP/LG/issue74/tougher.html2. ACE: http://www.cs.wustl.edu/~schmidt/ACE.htmlACE采用ACE_OS适配层屏蔽各种不同的、复杂繁琐的操作系统API。ACE是一个大型的中间件产品,代码20万转载 2016-05-08 09:08:58 · 628 阅读 · 0 评论 -
linux下C++开发工具
就C++开发工具而言,与Windows下微软(VC, VS2005等)一统天下相比,Linux/Unix下C++开发,可谓五花八门,各式各样。Emacs, vi, eclipse, anjuta,kdevelop等层出不穷。Windows下,开发工具多以集成开发环境IDE的形式展现给最终用户。例如,VS2005集成了编辑器,宏汇编ml,C /C++编译器cl,资源编译器rc,调试器,文档生成工转载 2016-05-08 09:08:04 · 3013 阅读 · 2 评论 -
Linux C++学习之路
Module01 - Linux系统基础 由于本系列课程基于Linux(或UNIX),熟悉Linux操作系统是必要的前提。 该模块的课程包含以下方面的内容: 常用Unix/Linux命令 熟悉文件管理、文本处理、进程管理、网络、系统管理等各个方面大约100个常用的命令。 深入了解bash 了解Linux默认shell: bash 的语转载 2016-05-08 09:07:13 · 492 阅读 · 0 评论 -
Linux多线程编程
Linux多线程编程(一) http://www.jb51.net/article/54389.htmlinux下C语言多线程编程实例 Linux多线程编程小结【Linux开发】Linux下的多线程编程linux下多进程、多线程编程转载 2016-05-08 09:05:00 · 360 阅读 · 0 评论 -
《跟我一起写makefile》(笔记1--核心规则和主要结构)
本系列博文根据陈皓《跟我一起写makefile》整理,只为方便自己以后复习回顾,感谢陈皓,致敬陈皓!陈皓博客网站:http://coolshell.cn/1 makefile的核心规则2 makefile的主要内容结构,感谢陈转载 2017-02-08 16:50:24 · 505 阅读 · 0 评论 -
《跟我一起写makefile》(笔记3--命令书写)
本系列博文根据陈皓《跟我一起写makefile》整理,只为方便自己以后复习回顾,感谢陈皓,致敬陈皓!陈皓博客网站:http://coolshell.cn/4 makefile书写命令转载 2017-02-08 16:57:41 · 244 阅读 · 0 评论 -
《跟我一起写makefile》(笔记4--makefile中的变量书写)
本系列博文根据陈皓《跟我一起写makefile》整理,只为方便自己以后复习回顾,感谢陈皓,致敬陈皓!陈皓博客网站:http://coolshell.cn/5 makefile书写变量转载 2017-02-08 17:00:02 · 192 阅读 · 0 评论 -
《posix多线程编程》笔记(三)
13 线程中的不变量#临界区#谓词14 互斥量静态初始化15 互斥量动态初始化16 加解锁互斥量17 加锁多个互斥量和避免死锁原创 2017-02-03 16:03:43 · 220 阅读 · 0 评论 -
《posix多线程编程》笔记(二)
9 线程的四个基本状态10 初始线程和普通线程11 线程终止与回收12 回收线程系统资源和程序资源原创 2017-02-03 16:00:36 · 209 阅读 · 0 评论 -
《posix多线程编程》笔记(一)
1 并发#并行#线程同步实现方式3 进程和线程的一点差别5 fork创建子进程及子进程资源回收6 线程新的报错机制7 pthread_detach和pthread_join分离线程8 线程创建及等待join原创 2017-02-03 15:56:38 · 262 阅读 · 0 评论 -
互斥锁与条件变量
【转自】http://blog.csdn.net/maximuszhou/article/details/42318169线程同步的目的简单来讲就是保证数据的一致性。在Linux中,常用的线程同步方法有互斥量( mutex )、读写锁和条件变量,合理使用这三种方法可以保证数据的一致性,但值得的注意的是,在设计应用程序时,所有的线程都必须遵守相同的数据访问规则为前提,才能保证这些同步转载 2017-01-20 11:33:22 · 342 阅读 · 0 评论 -
《跟我一起写makefile》(笔记8--makefile中的隐含规则#模式规则#隐含规则变量#自动化变量)
本系列博文根据陈皓《跟我一起写makefile》整理,只为方便自己以后复习回顾,感谢陈皓,致敬陈皓!陈皓博客网站:http://coolshell.cn/9 makefile的隐含规则转载 2017-02-08 17:12:50 · 244 阅读 · 0 评论 -
《跟我一起写makefile》(笔记5--makefile中的条件判断和库文件使用)
本系列博文根据陈皓《跟我一起写makefile》整理,只为方便自己以后复习回顾,感谢陈皓,致敬陈皓!陈皓博客网站:http://coolshell.cn/6 makefile条件判断10 makefile函数库文件转载 2017-02-08 17:02:37 · 305 阅读 · 0 评论 -
《跟我一起写makefile》(笔记7--运行make的参数选择)
本系列博文根据陈皓《跟我一起写makefile》整理,只为方便自己以后复习回顾,感谢陈皓,致敬陈皓!陈皓博客网站:http://coolshell.cn/8 运行make的参数选择转载 2017-02-08 17:07:17 · 298 阅读 · 0 评论 -
《跟我一起写makefile》(笔记6--makefile中的各种函数详解)
本系列博文根据陈皓《跟我一起写makefile》整理,只为方便自己以后复习回顾,感谢陈皓,致敬陈皓!陈皓博客网站:http://coolshell.cn/7 makefile使用函数转载 2017-02-08 17:05:16 · 284 阅读 · 0 评论