Linux
文章平均质量分 65
A.Crocodile
这个作者很懒,什么都没留下…
展开
-
vsftpd.conf配置文件详解
如果启用,则vsftpd服务器会检查/etc/hosts.allow 和/etc/hosts.deny 中的设置,来决定请求连接的主机,是否允许访问该FTP服务器。若设置为YES,则vsftpd.user_list文件中的用户不允许访问FTP,若设置为NO,则只有vsftpd.user_list文件中的用户才能访问FTP。当设置了该配置项后,用户登陆服务器后,系统就会到/etc/vsftpd/userconf目录下,读取与当前用户名相同的文件,并根据文件中的配置命令,对当前用户进行更进一步的配置。转载 2022-10-24 17:05:37 · 4120 阅读 · 1 评论 -
linux环境链接静态库找不到实现处理方法
linux环境链接静态库找不到实现处理方法,处理Makefile编译报错原创 2022-05-23 17:15:55 · 1137 阅读 · 0 评论 -
linux和windows下的“回车符”和“换行符”
经常要对windows/linux下文本文件转换下 dos2unix他们间的区别其实是个回车换行的问题先来段历史回车”(Carriage Return)和“换行”(Line Feed)这两个概念的来历和区别。符号ASCII码意义\n10换行\r13回车...转载 2019-08-14 11:24:54 · 743 阅读 · 0 评论 -
Linux下 文件描述符(fd)与 文件指针(FILE*)
一、文件描述符(fd)我们都知道在Linux下一切皆文件。当然设备也不例外,如果要对某个设备进行操作,就不得不打开此设备文件,打开文件就会获得该文件的文件描述符fd( file discriptor), 它就是一个很小的整数,每个进程在PCB(Process Control Block)中保存着一份文件描述符表,文件描述符就是这个表的索引,每个表项都有一个指向已打开文件的指针。 图中文件描...转载 2018-08-13 09:26:17 · 190 阅读 · 0 评论 -
Linux操作系统下的多线程编程详细解析----条件变量pthread_cond_t那些事儿
推荐两个博文:http://www.cnblogs.com/Creator/archive/2012/04/18/2455584.htmlhttp://blog.csdn.net/sunboy_2050/article/details/6031723(以下内容摘自上述两篇博文) 在多线程编程下,常常出现A线程要等待B线程条件完成后再继续进行,这里等待方式有两种:1.使用锁+...转载 2018-07-26 09:11:36 · 181 阅读 · 0 评论 -
Linux编程之自定义消息队列
我这里要讲的并不是IPC中的消息队列,我要讲的是在进程内部实现自定义的消息队列,让各个线程的消息来推动整个进程的运动。进程间的消息队列用于进程与进程之间的通信,而我将要实现的进程内的消息队列是用于有序妥当处理来自于各个线程请求,避免一窝蜂的请求而导致消息的异常丢失。想想socket编程里的listen函数吧,里面要设置一个队列长度的参数,其实来自网络的请求已经排成一个请求队列了,只是这个队列是系统...转载 2018-07-13 14:48:21 · 235 阅读 · 0 评论 -
条件变量、pthread_cond_init
1.初始化条件变量pthread_cond_init#include <pthread.h>int pthread_cond_init(pthread_cond_t *cv,const pthread_condattr_t *cattr);返回值:函数成功返回0;任何其他返回值都表示错误初始化一个条件变量。当参数cattr为空指针时,函数创建的是一个缺省的条件变量。否则条件变量的属性将...转载 2018-07-10 20:35:29 · 215 阅读 · 0 评论 -
LINUX线程同步:原子操作、锁、二元信号量、信号量、互斥量、临界区、读写锁、条件变量等
注:摘自《程序员的自我修养》相关章节。 原子操作共享数据(全局变量或堆变量)的自增(++)操作在多线程环境下会出现错误是因为这个操作(一条c语句)被编译为汇编代码后不止一条指令,因此在执行的时候可能执行了一半就被调度系统打断,去执行别的代码。我们把单指令的操作称为原子的(Atomic),因为无论如何,单条指令的执行是不会被打断的。为了避免出错,很多体系结构都提供了一些常用操作的原子指令,例如i38...转载 2018-07-10 16:53:50 · 610 阅读 · 1 评论 -
pthread_cond_timedwait 实例
linux多线程编程,你还在用sleep么?用pthread_cond_timedwait吧摘要:多线程编程中,线程A循环计算,然后sleep一会接着计算(目的是减少CPU利用率);存在的问题是,如果要关闭程序,通常选择join线程A等待线程A退出,可是我们必须等到sleep函数返回,该线程A才能正常退出,这无疑减慢了程序退出的速度。当然,你可以terminate线程A,但这样做很不优雅,且会存在...转载 2018-07-09 13:40:33 · 1542 阅读 · 0 评论 -
linux man使用方法 和centos安装中文man包
首先,man是manual的简称,中文说法可以是手册。在Linux世界中,许多新手请教某条命令的用法时, 好多不耐心的老手通常会用一条命令来回答这位无助的新手,而这条命令通常就是man开头。无助的新手敲上这条命令一看究竟,在终端上顿时显示出来了一屏幕的英文,老手的意思是,自己看看手册吗,可是看手册也是有学问的,无助的新手甚至不知道怎么退出这条命令呢。下面我们就来讲解一下看man手册的学问一。介绍m...转载 2018-07-09 11:29:01 · 1485 阅读 · 0 评论 -
Linux Man手册的使用示例
Linux的命令非常多,很多人在学一个命令时,首先想到的是使用百度或者谷歌,或者参考书上给出怎么使用的例子。但授人以鱼不如授人以渔,通过man该命令可以得到关于该命令的有用信息。当我们学会使用man文档时,将大大提升使用命令的能力。这里,本人认为更多人是不知道列出的选项怎么用,有什么规律,导致不想使用man。为此,本文通过mkdir命令文档做一个示例,希望对读者们有所帮助。一、man命令 ...转载 2018-07-09 11:22:04 · 258 阅读 · 0 评论 -
Linux多线程详解
线程也被称为轻权进程(lightweight process)。在传统的UNIX上,一个进程让另一个实体做某个事务是用fork派生子进程的方法处理的。派生子进程的代价比线程要昂贵得多,尤其是在父子进程之间、子 进程之间传递信息需要用IPC或其他方法通信。相对比,使用线程有许多优点,如创建线程要比创建进程快的多、一个进程中的线程共享相同的全局存储区等等。Linux系统下的多线程遵循POS转载 2017-06-13 19:48:04 · 264 阅读 · 0 评论 -
Linux进程间通信
Linux进程间通信一、进程间通信概述进程通信有如下一些目的:A、数据传输:一个进程需要将它的数据发送给另一个进程,发送的数据量在一个字节到几M字节之间B、共享数据:多个进程想要操作共享数据,一个进程对共享数据的修改,别的进程应该立刻看到。C、通知事件:一个进程需要向另一个或一组进程发送消息,通知它(它们)发生了某种事件(如进程终止时要通知父进程)。D、转载 2017-06-12 13:40:58 · 326 阅读 · 0 评论 -
unix和linux的区别
转至:http://www.goceanedu.com.cnUNIX是历史最悠久的通用操作系统。1969年,美国贝尔实验室的K.Thompson和D.M.Ritchie在规模较小及较简单的分时操作系统MULTICS的基础上开发出UNIX, 当时是在DEC的PDP—7小型计算机上实现的,1970年正式投入运行。此后数年,UNIX一直是一个限于在AT&T内部使用的操作系统。1971年,发展出以转载 2017-06-07 22:41:46 · 691 阅读 · 0 评论 -
为什么开发人员要使用Linux
本文主要针对IT开发人员,意在阐明Linux在开发方面的独特优势(Linux版本较多,笔者使用的是Ubuntu14.04)。1.省心如果你经常重装系统(对于那些经常捣鼓系统或是有软件洁癖的人),或是偶尔需要来那么一两次。那么你肯定就能体会到在Windows下配置环境的麻烦事儿。以Java为例: 在Windows下: 首先我们得先弄一个JDK安装包,确转载 2017-06-16 23:40:12 · 2085 阅读 · 0 评论 -
linux消息队列
消息队列(也叫做报文队列)能够克服早期unix通信机制的一些缺点。作为早期unix通信机制之一的信号能够传送的信息量有限,后来虽然POSIX 1003.1b在信号的实时性方面作了拓广,使得信号在传递信息量方面有了相当程度的改进,但是信号这种通信方式更像"即时"的通信方式,它要求接受信号的进程在某个时间范围内对信号做出反应,因此该信号最多在接受信号进程的生命周期内才有意义,信号所传递的信息是接近于随转载 2017-06-16 23:33:56 · 354 阅读 · 0 评论 -
linux进程管理与调度
[日期:2014-08-10]来源:Linux社区 作者:walkerkalr[字体:大 中 小]进程的管理与调度进程管理 进程描述符及任务结构进程存放在叫做任务队列(tasklist)的双向循环链表中。链表中的每一项包含一个具体进程的所有信息,类型为task_struct,称为进程描述符(process descriptor),该转载 2017-06-04 20:33:04 · 316 阅读 · 0 评论 -
Linux文件编程
Linux中文件编程可以使用两种方法:1.Linux系统调用 2.C语言库函数。系统调用是基于linux系统的,它不能跨系统使用。c语言库函数在各个系统都能使用。 A.下面先介绍基于系统调用的文件编程 1.文件的创建. int creat(const char *filename,mode_t mode)filename:要创建的文件名(包含路径,缺省为当前路径)mode:创建模式转载 2017-06-04 20:29:38 · 255 阅读 · 0 评论