IO复用: select 和poll 到epoll
摘要:linux 提供了select、poll和epoll三种接口来实现多路IO复用。下面总结下这三种接口。 select 该函数允许进程指示内核等待多个事件中的任何一个发生,并只在有一个或多个事件发生或经历一段指定的时间后才唤醒它。 函数接口: 1: #include 2: #include 3: 4: int select(i...
阅读全文
posted @
2013-09-10 18:27
@且听风吟@
阅读(522)
推荐(0)
fork和vfork的区别
摘要:参见百度百科API说明: fork 头文件: #include #include 函数原型: pid_t fork( void); (pid_t 是一个宏定义,其实质是int 被定义在#include中) 返回值: 若成功调用一次则返回两个值,子进程返回0,父进程返回子进程ID;否则,出错返回-1 函数说明: 一个现有进程可以调用fork函数创建一个新进程。由fork创建的新进...
阅读全文
posted @
2013-09-08 08:33
@且听风吟@
阅读(8627)
推荐(1)
linux的锁比较
摘要:spinlock spinlock介绍 spinlock又称自旋锁,线程通过busy-wait-loop的方式来获取锁,任时刻只有一个线程能够获得锁,其他线程忙等待直到获得锁。spinlock在多处理器多线程环境的场景中有很广泛的使用,一般要求使用spinlock的临界区尽量简短,这样获取的锁可以尽快释放,以满足其他忙等的线程。Spinlock和mutex不同,spinlock不会导致线...
阅读全文
posted @
2013-09-06 12:58
@且听风吟@
阅读(786)
推荐(0)
linux 下的多线程编程
摘要:Linux 下POSIX线程 使用threadid标识一个线程。 创建线程的函数如下: 1: #include 2: 3: int pthread_create( 4: pthread_t *restrict tidp, 5: const pthread_attr_t *restric...
阅读全文
posted @
2013-08-29 09:29
@且听风吟@
阅读(285)
推荐(0)
wget 将结果直接输出到终端
摘要:wget可以用来下载文件。通常其结果是保存到文件的。 wget的用法参见:http://ted.is-programmer.com/posts/4446.html 今天工作中遇到想直接使用wget 下载网页然后用脚本处理内容。 查阅资料找到用法,记录如下: 1: 2: #!/bin/bash ...
阅读全文
posted @
2013-03-27 15:22
@且听风吟@
阅读(2438)
推荐(0)
linux 文件大小ll和du不一致问题
摘要:今天出现了程序的日志文件占用的磁盘空间大小通过ll和du 来查看大小不一致。 通过ll –h 来看占用的空间比du –sh 打了很多,磁盘被占满了。 查了些资料发现是文件空洞的问题. 后来同事提醒,日志文件保存时候使用> 将其保存,对文件进行清除和日志切割(logrotate)时,容易出现文件空洞。 需要使用“>>” 可以避免该问题。修改后问题确实解决了。 在此Mark一下。 refe...
阅读全文
posted @
2013-02-26 11:34
@且听风吟@
阅读(1686)
推荐(0)
iptables规则的查看、添加、删除和修改
摘要:http://ns.35.com/?p=211 1、查看 iptables -nvL –line-number -L 查看当前表的所有规则,默认查看的是filter表,如果要查看NAT表,可以加上-t NAT参数 -n 不对ip地址进行反查,加上这个参数显示速度会快很多 -v 输出详细信息,包含通过该规则的数据包数量,总字节数及相应的网络接口 –line-num...
阅读全文
posted @
2013-01-31 15:42
@且听风吟@
阅读(681)
推荐(0)
linux socket编程client获取使用的ip和port
摘要:今天为了测试机器绑定多ip时socket client使用的ip和port,因此查询资料看了下如何获取client的ip和port(系统自选而不是bind绑定)主要是对连接的描述符通过getsockname 函数获取client的地址信息,函数说明如下#include <sys/socket.h> int getsockname(int sockfd, struct sockaddr *localaddr, socklen_t *addrlen); int getpeername(int sockfd, struct sockaddr *peeraddr, socklen_t *a
阅读全文
posted @
2013-01-25 16:46
@且听风吟@
阅读(8231)
推荐(0)
ubuntu apt-get /usr/bin/dpkg returned an error code 的解决办法
摘要:终端输入 cd /var/lib/dpkg sudo mv info{,.bak} sudo mkdir info sudo dpkg --configure -a sudo apt-get install -f 然后执行sudo apt-get update 再进行相关的install 即可
阅读全文
posted @
2013-01-24 13:58
@且听风吟@
阅读(308)
推荐(0)
linux 性能分析工具整理
摘要:工作中常常需要对系统性能进行分析,整理常用的工具如下: Linux性能测试 top命令 Linux性能测试 top衍生命令 atop/htop/slaptop Linux性能测试 uptime命令 Linux性能测试 iostat命令 Linux性能测试 vmstat命令 Linux性能测试 sar命令 Linux性能测试 strace命令 Linux性能测试 mpstat命令 ...
阅读全文
posted @
2013-01-24 09:06
@且听风吟@
阅读(233)
推荐(0)
[转载]Linux性能测试 tcpdump命令
摘要:用简单的话来定义tcpdump,就是:dump the traffic on a network,根据使用者的定义对网络上的数据包进行截获的包分析工具。 tcpdump可以将网络中传送的数据包的“头”完全截获下来提供分析。它支持针对网络层、协议、主机、网络或端口的过滤,并提供and、or、not等逻辑语句来帮助你去掉无用的信息。 实用命令实例 默认启动 tcpdump普通情况下,直接启...
阅读全文
posted @
2013-01-24 09:00
@且听风吟@
阅读(852)
推荐(0)
[转载]Linux性能测试 top命令
摘要:原文地址:http://www.cnblogs.com/txw1958/archive/2012/07/25/linux-top-command.htmltop命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器。 top可以显示CPU占用率为前几位的进程,并提供CPU的实时活动情况 语法:top [-s time] [-d count] [-q] [-u] [-h] [-n number] [-f filename] -s time 设置屏幕刷新的延时,单位为秒,默认值5秒 -d count 设置屏幕刷新的次...
阅读全文
posted @
2013-01-24 08:58
@且听风吟@
阅读(695)
推荐(0)