linux
Henryinferno
这个作者很懒,什么都没留下…
展开
-
Linux中创建静态库和动态库
一、基本概念1.1什么是库在windows平台和linux平台下都大量存在着库。本质上来说库是一种可执行代码的二进制形式,可以被操作系统载入内存执行。由于windows和linux的平台不同(主要是编译器、汇编器和连接器的不同),因此二者库的二进制是不兼容的。本文仅限于介绍linux下的库。 1.2库的种类linux下的库有两种:静态库和共享库(动态库)。转载 2013-08-31 23:23:51 · 776 阅读 · 0 评论 -
linux kill进程
使用linux操作系统,难免遇到一些软件“卡壳”的问题,这时就需要使用linux下强大的kill命令来结束相关进程。这在linux系统下是极其容易的事情,你只需要kill xxx即可,这里xxx代表与此软件运行相关的进程PID号。首先,我们需要使用linux下另外一个命令ps查找与进程相关的PID号:ps aux | grep program_filter_word1)ps a 显转载 2014-06-15 09:43:30 · 1201 阅读 · 0 评论 -
Linux操作系统下运行命令时Ctrl+C和Ctrl+Z的作用及恢复
命令运行时使用CTRL+C,强制终止当前进程 命令运行时使用CTRL+Z,强制当前进程转为后台,并使之挂起(暂停). 1. 使进程恢复运行(后台) (1)使用命令bg Example: zuii@zuii-desktop:~/unp/tcpcliserv$ ./tcpserv01 *这里使用CTRL+Z,此时serv01是停止状态* [1]+ Stopp转载 2014-07-28 12:54:38 · 2184 阅读 · 0 评论 -
Linux系统服务之inetd
inetd进程介绍:inetd程序是一个Linux守护进程。您可能已经知道守护进程是一些特殊的程序:它们在被启动之后,自愿放弃对调用自己终端的控制权。守护进程与系统其余部分的接口只有依靠进程间通信(Interprocess Communication,IPC)通道、或者依靠向系统全局性日志文件(Log File)才能发送数据项。inetd的角色是作为Telnet和FTP等与网络服务器相关的转载 2014-07-29 15:27:02 · 8492 阅读 · 0 评论 -
如何在Linux下查找一个类型的定义
对于赶时间的朋友,只看第一段就好了。 首先,我非常肯定以及确定的告诉你ssize_t是有符号整型,在32位机器上等同与int,在64位机器上等同与long int,有没有注意到,它和long数据类型有啥区别?其实就是一样的。size_t 就是无符号型的ssize_t,也就是unsigned long/ unsigned int (在32位下),不同的编译器或系统可能会有区别,主要是转载 2014-08-09 11:51:16 · 954 阅读 · 0 评论 -
基于文本行协议
很多互联网上的协议例如HTTP、SIP、SMTP、FTP的控制连接协议都是基于文本行的。所谓基于文本行,指的是信息以文本传递,一个信息单元传递完毕后要传送换行。比如对于HTTP的GET请求来说,GET /index.html HTTP/1.0是一行,接下去每个头部信息各占一行。一个空行表示整个请求结束。而tcp是基于流的,使用read/recv和write/send一次读入或写入的字节转载 2014-08-09 17:06:04 · 1561 阅读 · 0 评论 -
《算法》第一章——打印文件目录结构
转载自:http://blog.csdn.net/nbda1121440/article/details/9120219-------Linux打印文件目录结构代码:#include #include #include #include #include #include void printdir(char *dirname,int indent){ DIR *dp;转载 2016-11-01 20:16:50 · 560 阅读 · 0 评论 -
关于LINUX中的权限位S(设置用户ID)(有效用户ID)(实际用户ID)
getuid() 实际用户ID为 执行程序的实际用户IDgeteuid() 有效用户ID与设置用户ID有关,及权限中的S位如果权限为rws 那么s位代表其他用户执行程序时改变为主用户权限。不安全如:int main(void) { int fd; fd = open("abc", O_CREAT | O_RDWR | O_EXCL, 0777);转载 2016-12-01 15:00:10 · 965 阅读 · 0 评论 -
linux 条件变量
转自:linux 条件变量与互斥锁条件变量,与锁不同, 条件变量用于等待某个条件被触发基本编写的代码如下:// 线程一代码 =================================================pthread_mutex_lock(&mutex);// 设置条件为true... 操作pthr转载 2016-12-02 12:21:18 · 465 阅读 · 0 评论 -
linux内核双链表
linux内核双链表的优点:设计思想:尽可能的代码重用,化大堆的链表设计为单个链表。 链表的构造:如果需要构造某类对象的特定列表,则在其结构中定义一个类型为list_head指针的成员,通过这个成员将这类对象连 接起来,形成所需列表,并通过通用链表函数对其进行操作。其优点是只需编写通用链表函数,即可构造和操作不同对象的列表,而无需为每类对象的每种列表编写 专用函数,实现了代码的重用。转载 2016-11-21 20:02:38 · 389 阅读 · 0 评论 -
Linux设备名tty、pty、pts的概念
基本概念:1> tty(终端设备的统称):tty一词源于Teletypes,或teletypewriters,原来指的是电传打字机,是通过串行线用打印机键盘通过阅读和发送信息的东西,后来这东西被键盘和显示器取代,所以现在叫终端比较合适。终端是一种字符型设备,他有多种类型,通常使用tty来简称各种类型的终端设备。2> pty(虚拟终端):但是假如我们远程telnet到主机或使用x转载 2014-05-25 13:49:11 · 819 阅读 · 0 评论 -
信号与中断的区别
信号与中断的相似点:(1)采用了相同的异步通信方式;(2)当检测出有信号或中断请求时,都暂停正在执行的程序而转去执行相应的处理程序;(3)都在处理完毕后返回到原来的断点;(4)对信号或中断都可进行屏蔽。信号与中断的区别:(1)中断有优先级,而信号没有优先级,所有的信号都是平等的;(2)信号处理程序是在用户态下运行的,而中断处理程序是在核心态下运行;(3)中断响应是及转载 2014-06-03 22:53:12 · 3042 阅读 · 1 评论 -
如何看懂man page
看懂man page是做Linux开发最基本的要求,然而很多新手非常不喜欢看man page,我们在教学中发现,虽然从第一天讲编程就开始强调一定要看man page,rtfm=read the f*ckingmanual,但结果是很多学生都想方设法绕过看man page,一个月以后,从没来仔细看过一个man page的学生仍然有半数以上。转载 2013-08-26 13:22:58 · 969 阅读 · 0 评论 -
fflush和fsync的一些总结
int fflush(FILE *stream);If stream points to an output stream or an update stream in which the most recent operation was not input, the fflush function causes any unwritten data for that stream to b转载 2014-03-02 16:59:02 · 808 阅读 · 0 评论 -
线程同步:互斥量与读写锁的异同与性能分析
线程同步简单的说就是当多个线程共享相同的内存时,当某个线程可以修改变量,而其他线程也可以读取或修改这个变量的时候,就需要对这些线程进行同步,以确保他们在访问变量的存储内容时不会访问到无效的数值。我们来看个上面一个对于多线程访问共享变量造成竞争的一个例子假设增量操作分为以下三个步骤(1)从内存单元读入寄存器(2)在寄存器中进行变量值的增加(3)把新的值写回内存单元那么转载 2014-03-17 22:04:52 · 938 阅读 · 0 评论 -
阻塞和非阻塞io区别
IO模式设置网络编程常见问题总结—IO模式设置,阻塞与非阻塞的比较,recv参数对性能的影响—O_NONBLOCK(open使用)、IPC_NOWAIT(msgrcv)、MSG_DONTWAIT(recv使用)非阻塞IO 和阻塞IO: 在网络编程中对于一个网络句柄会遇到阻塞IO 和非阻塞IO 的概念, 这里对于这两种socket 先做一下说明: 基本概念转载 2014-05-01 15:19:40 · 883 阅读 · 0 评论 -
/dev/null 2>&1 详解
转自:http://viplin.blog.51cto.com/241472/99568今天一个朋友突然在自己的维护的Linux中, /var/spool/cron/root 中看到了以下的内容:30 19 * * * /usr/bin/**dcon.sh > /dev/null 2>&159 23 * * 1-7 /home/s**-log/squid-log.r转载 2014-04-20 22:43:38 · 502 阅读 · 0 评论 -
Linux /dev目录详解
Linux /dev目录详解 在linux下,/dev目录是很重要的,各种设备都在下面。下面简单总结一下: dev是设备(device)的英文缩写。/dev这个目录对所有的用户都十分重要。因为在这个目录中包含了所有Linux系统中使用的外部设备。但是这里并不是放的外部设备的驱动程序,这一点和windows,dos操作系统不一样。它实际上是一个访问这些外部设备的端口。我们可以非常转载 2014-05-16 20:22:55 · 942 阅读 · 0 评论 -
fork的使用和多次fork产生的一系列问题
看这样一道题:这个程序有几个进程,输出几个'-'?#include #include int main(){ int i; for(i = 0; i < 2; ++i) { fork(); printf("-"); fflush(stdout); } return 0;}要判断几个进程必须知道程原创 2014-05-06 20:09:06 · 2954 阅读 · 1 评论 -
linux文件系统基础与挂载
一 、Linux文件结构 文件结构是文件存放在磁盘等存贮设备上的组织方法。主要体现在对文件和目录的组织上。 目录提供了管理文件的一个方便而有效的途径。 Linux使用标准的目录结构,在安装的时候,安装程序就已经为用户创建了文件系统和完整而固定的目录组成形式,并指定了每个目录的作用和其中的文件类型。 /根目录转载 2014-05-21 18:44:36 · 620 阅读 · 0 评论 -
什么是IO多路复用,理解IO多路复用
一、什么是socket?我们都知道unix(like)世界里,一切皆文件,而文件是什么呢?文件就是一串二进制流而已,不管socket,还是FIFO、管道、终端,对我们来说,一切都是文件,一切都是流。在信息 交换的过程中,我们都是对这些流进行数据的收发操作,简称为I/O操作(input and output),往流中读出数据,系统调用read,写入数据,系统调用write。不过话说回来了 ,计算转载 2014-08-13 10:42:53 · 18379 阅读 · 6 评论