linux
clarkness
这个作者很懒,什么都没留下…
展开
-
Linux中文件描述符fd与文件指针FILE*互相转换实例解析
这篇文章主要介绍了Linux中文件描述符fd与文件指针FILE*互相转换实例解析,小编觉得还是挺不错的,具有一定借鉴价值,需要的朋友可以参考下本文研究的主要是Linux中文件描述符fd与文件指针FILE*互相转换的相关内容,具体介绍如下。1.文件描述符fd的定义:文件描述符在形式上是一个非负整数。实际上,它是一个索引值,指向内核为每一个进程所维护的该进程打开文件的记录表。当程序打开一个现有...转载 2018-10-24 11:18:07 · 1594 阅读 · 0 评论 -
popen函数和system函数详解
1、popen函数我们先用man指令查一下popen函数:函数说明:(1)popen()会调用fork()产生子进程,然后从子进程中调用/bin/sh -c来执行参数command的指令。(2)参数type可使用“r”代表读取,“w”代表写入。依照此type值,popen()会建立管道连到子进程的标准输出设备或标准输入设备,然后返回一个文件指针。随后进程便可利用此文件指针来读取子进程的输出...转载 2019-03-21 17:59:50 · 536 阅读 · 0 评论 -
Linux系统挂载存储只读改成读写
1、mount:用于查看哪个模块输入只读,一般显示为:[root@ubuntu ~]# mount/dev/cciss/c0d0p2 on / type ext3 (rw)proc on /proc type proc (rw)sysfs on /sys type sysfs (rw)tmpfs on /dev/shm type tmpfs (rw)/dev/dm-0 on /ho...转载 2019-03-07 10:58:04 · 2439 阅读 · 0 评论 -
线程同步之信号量(sem_init,sem_post,sem_wait)
信号量和互斥锁(mutex)的区别:互斥锁只允许一个线程进入临界区,而信号量允许多个线程同时进入临界区。不多做解释,要使用信号量同步,需要包含头文件semaphore.h。主要用到的函数:int sem_init(sem_t *sem, int pshared, unsigned int value);,其中sem是要初始化的信号量,pshared表示此信号量是在进程间共享还是线程间共...转载 2019-01-25 14:13:46 · 599 阅读 · 0 评论 -
linux编译命令——make -j8
项目越来越大,每次需要重新编译整个项目都是一件很浪费时间的事情。Research了一下,找到以下可以帮助提高速度的方法,总结一下。1. tmpfs有人说在Windows下用了RAMDisk把一个项目编译时间从4.5小时减少到了5分钟,也许这个数字是有点夸张了,不过粗想想,把文件放到内存上做编译应该是比在磁盘上快多了吧,尤其如果编译器需要生成很多临时文件的话。这个做法的实现成本最低,在Li...转载 2019-01-24 21:39:17 · 42656 阅读 · 0 评论 -
Linux内核结构体--kfifo 环状缓冲区
1、前言 最近项目中用到一个环形缓冲区(ring buffer),代码是由linux内核的kfifo改过来的。缓冲区在文件系统中经常用到,通过缓冲区缓解cpu读写内存和读写磁盘的速度。例如一个进程A产生数据发给另外一个进程B,进程B需要对进程A传的数据进行处理并写入文件,如果B没有处理完,则A要延迟发送。为了保证进程A减少等待时间,可以在A和B之间采用一个缓冲区,A每次将数据存放在缓冲区中,...转载 2019-01-18 22:04:45 · 424 阅读 · 0 评论 -
select()函数以及FD_ZERO、FD_SET、FD_CLR、FD_ISSET
select函数用于在非阻塞中,当一个套接字或一组套接字有信号时通知你,系统提供select函数来实现多路复用输入/输出模型,原型: #include <sys/time.h> #include <unistd.h> int select(int maxfd,fd_set *rdset,fd_set *wrset,fd_...转载 2019-01-18 18:12:39 · 246 阅读 · 0 评论 -
Linux字符设备驱动
Linux字符设备驱动 一、字符设备基础 字符设备 二、字符设备驱动与用户空间访问该设备的程序三者之间的关系 三、字符设备模型 1、Linux内核中,使用 struct cdev 来描述一个字符设备 动态申请(构造)cdev内存(设备对象) 初始化cdev的成员,并建立cdev和file_operations之间关联起来 注册cdev设备对象(添加到系统字符...转载 2019-01-18 18:11:25 · 192 阅读 · 0 评论 -
linux下core dump【总结】
1、前言 一直在从事linux下后台开发,经常与core文件打交道。还记得刚开始从事linux下开发时,程序突然崩溃了,也没有任何日志。我不知所措,同事叫我看看core,我却问什么是core,怎么看。同事鄙视的眼神,我依然在目。后来学会了从core文件中分析原因,通过gdb看出程序挂再哪里,分析前后的变量,找出问题的原因。当时就觉得很神奇,core文件是怎么产生的呢?难道系统会自动产生,可是...转载 2019-01-13 22:01:55 · 124 阅读 · 0 评论 -
Android 开发之 ---- bootloader (LK)
LK是什么 LK 是 Little Kernel 它是 appsbl (Applications ARM Boot Loader)流程代码 ,little kernel 是小内核小操作系统。 LK 代码 在 bootable/bootloadler/lk 目录下 LK 代码结构 +app ...转载 2019-01-13 22:00:22 · 415 阅读 · 0 评论 -
Linux不能删除,报错”Device or resource busy”
我在配置Hadoop时,想重新格式化,把原来的文件都删了,结果发现不能删除,报了以下错误rm: cannot remove `name/current/.nfs00000000036a004e00000009': Device or resource busyrm: cannot remove `name/.nfs00000000036a00320000000a': Device or re...转载 2019-05-09 16:29:47 · 20574 阅读 · 0 评论