随笔分类 - Linux
存放一些我学习linux过程中的一些感悟
摘要:一、前言结构化编程中,主要有三种结构:顺序、分支、循环。由此可见分支判断的重要性。而且在shell编程中往往会遇到进行判断的情况,比如:判断文件是否存在、目录是否存在等等。二、if语句的结构if [ 条件 ];then ...elif [ 条件 ];then ...else ......
阅读全文
摘要:UNIX网络编程--卷一:套接字联网API 本书面对的读者是那些希望自己编写的程序能够使用成为套接字(socket)的API进行彼此通信的人。 目录: 0、准备环境 1、简介 2、传输层:TCP、UDP和SCTP 3、套接字编程简介 4、基本TCP套接字编程 5、TCP客户/服务器程序例子 6、I/
阅读全文
摘要:一、前言二、工具介绍1、ps 查看进程信息2、gstack 查看进程堆栈3、pmap查看程序分配的内存4、ldd查看程序用到的动态链接库5、strace用来跟踪和监视程序的每一个系统调用6、fuser 查看正在访问某个或某些文件的进程ID7、lsof 查看某个程序或进程打开了哪些文件8、backtr...
阅读全文
摘要:一、poll介绍函数原型:#include int poll(struct pollfd *fds, nfds_t nfds, int timeout);struct pollfd定义:struct pollfd { int fd; /* file descriptor */...
阅读全文
摘要:一、介绍reactor模式二、使用reactor模式三、参考http://blog.csdn.net/swordmanwk/article/details/6170995 该文章,简单介绍了reactor模式,大概了解reactor的原理http://blog.csdn.net/linxcool/a...
阅读全文
摘要:一、epoll介绍 epoll是linux内核为处理大批量句柄而作的改进的poll,是linux下IO多路复用select、poll的增强版,它能显著减少程序在大量并发连接中只有少量活跃的情况下的系统CPU利用率。 epoll有两种工作方式:LT(水平触发)、ET(边缘触发) LT(level tr
阅读全文
摘要:一、select介绍函数原型:#include int select(int maxfdp1, fd_set *restrict readfds, fd_set *restrict writefds, fd_set *restrict exceptfds, struct timeval *restr...
阅读全文
摘要:/etc/ld.so.conf 这个文件记录了编译时使用的动态链接库的路径,告诉链接器去哪个路径下寻找链接时需要用到的库,如果找不到,就会提示链接错误。如果我们安装了第三方的库,而没有将它放在链接器可以找到的目录,则运行使用这些第三方库的程序时,会提示找不到库。这时,我们有两种方案可以解决:1、在链...
阅读全文
摘要:一、安装libevent官网:http://libevent.org/选择最新版本下载,我选择的是libevent-2.0.22-stable.tar.gz,然后安装README文件中描述的方法编译、安装即可。./configuremakemake verify # 可选操作make install...
阅读全文
摘要:16.1、引言上一章考查了各种Unix系统所提供的经典进程间通信(IPC)机制:管道、先进先出、消息队列、信号量以及共享内存。通过这些机制,同一台计算机上运行的进程可以相互通信。本章将考查不同计算机(通过网络连接)上运行的进程相互通信的机制:网络进程间通信(network IPC)。16.2、套接字...
阅读全文
摘要:折腾过github pages的同学都清楚使用jekyll搭建个人网站的目录结构,而导航最终的代码是在使用的主题目录中的default.html文件中的。我的结构如下:.├── 404.html├── about.html├── archive.html├── assets│ └── themes├...
阅读全文
摘要:9.1:引言本章将详细讨论进程组以及回话的概念。9.2:终端登录9.3:网络登录9.4:进程组9.5:会话
阅读全文
摘要:11.1:引言本章介绍多线程的使用11.2:线程概念典型的Unix进程可以看作只有一个控制线程:一个进程在同一时刻只做一件事情。11.3:线程标识每个线程跟进程一样,都有一个线程ID来标识。#include int pthread_equal(pthread_t tid1, pthread_t ti...
阅读全文
摘要:14.1:引言本章内容包括非阻塞I/O、记录锁、系统V流机制、I/O多路转接(select和poll函数)、readv和writev函数以及存储映射I/O(mmap),这些都称为高级I/O。14.2:非阻塞I/O非阻塞I/O使我们可以调用open、read和write这样的I/O操作,并使这些操作不...
阅读全文
摘要:8.1:引言本章介绍Unix的进程控制,包括创建新进程、执行程序和进程终止。还将说明进程属性的各种ID--实际、有效和保存的用户和组ID,以及它们如何受到进程控制原语的影响。还包括解释器文件和system函数,最后讲述大多数Unix系统所提供的进程会计机制。8.2:进程标识符每个进程都有一个非负整型...
阅读全文
摘要:一、引言今天看网易公开课,孟宁老师的软件工程(C编码实践篇),讲到可重入和线程安全,结合他的讲解和我的理解,写下这篇博文,记录一下。二、可重入与线程安全的关系可重入不一定是线程安全的线程安全的一定是可重入的不可重入函数一定不是线程安全的孟老师最后的总结很不错:线程安全是扩大了范围的可重入,即可重入函...
阅读全文
摘要:Shell 学习基础 1、组合命令的符号 1. 管道,将前面一个命令的结果作为后面一个命令的输入 2. 分号,顺序执行用分号分割的命令 3. 重定向,重定向包括三种:输入重定向、输出重定向、错误重定向,以7个不同的符号实现 ` :输出重定向 :输出重定向,但以追加的方式写入 :错误重定向 :错误重定
阅读全文
摘要:一、引言想要学习使用shell脚本,却在开始的时候遇到很多不顺利,都是一些小细节的东西,所以在此记录一下。二、各种细节问题1、变量作为赋值对象时不需要添加$,取值时需要,也就是说,这个$就是取值符号;i=`expr $i+1`2、等号的两边不能有空格;i=`expr $i + 1`3、重定向符号的使...
阅读全文
摘要:NAME top basename, dirname - parse pathname componentsSYNOPSIS top #include char *dirname(char *path); char *...
阅读全文
浙公网安备 33010602011771号