Linux Program
文章平均质量分 78
过往记忆
这个作者很懒,什么都没留下…
展开
-
Linux系统中的信号
信号(Signal)是Linux系统中用于进程之间相互通信或操作的一种机制。信号是一个相当广泛的课题;在这里,我们仅仅探讨几种最重要的信号以及利用信号控制进程的技术。 信号是一个发送到进程的特殊信息。信号机制是异步的;当一个进程接收到一个信号时,它会立刻处理这个信号,而不会等待当前函数甚至当前一行代码结束运行。信号有几十种,分别代表着不同的意义。信号之间依靠它们的值来区分,但是通翻译 2012-02-16 10:24:54 · 5609 阅读 · 2 评论 -
Linux下创建临时文件
已移到:http://www.wypblog.com/archives/172 临时文件是一个暂时用来存储数据的文件。如果使用建立普通文件的方法来创建文件,则可能遇到文件是否存在,是否有文件读写权限的问题。Linux系统下提供的建立唯一的临时文件的方法如下:#includechar *tmpnam(char *s);FILE *tmpfile(); 函数tmpna原创 2012-02-18 21:21:23 · 8444 阅读 · 1 评论 -
给Fedora修改默认的软件下载源
(转载请注明:http://www.wypblog.com/archives/124,请不要用于商业目的。)Fedora安装完毕之后最头疼的问题就是软件更新,因为Fedora默认的更新源服务器是在国外,所以每次更新的速度奇慢!那么,我们是否可以修改Fedora的默认下载源呢?答案是可以的。目前国内有很多大学都提供了Fedora的更新包下载服务器,下载速度相对国外的快。下面以华中科技大学的源(htt原创 2013-04-03 09:46:55 · 6269 阅读 · 1 评论 -
编写简单的Mapreduce程序并部署在Hadoop2.2.0上运行
经过几天的折腾,终于配置好了Hadoop2.2.0(如何配置在Linux平台部署Hadoop请参见本博客《在Fedora上部署Hadoop2.2.0伪分布式平台》),今天主要来说说怎么在Hadoop2.2.0伪分布式上面运行我们写好的Mapreduce程序。先给出这个程序所依赖的Maven包:01020304050607080910111213141516171819202122原创 2013-10-29 13:17:57 · 8720 阅读 · 1 评论 -
linux网络编程之:获取指定网卡网络数据包并分析(附C语言源码)
#include #include #include #include #include int main(){ char *net_dev; char *ip_addr; char *net_mask; char errbuf[PCAP_ERRBUF_SIZE]; bpf_u_int32 netp; bpf_u_int32 mask; struct in_addr a原创 2012-04-13 10:43:17 · 10387 阅读 · 2 评论 -
linux网络编程之:多播
#include #include #include #include #include #include #define BUFLINE 256int main(int argc, char *argv[]){ struct sockaddr_in local; int fd, n; struct ip_mreq mc; char msg[BUFLINE + 1]; i原创 2012-04-14 20:17:51 · 5204 阅读 · 0 评论 -
linux网络编程之:接受网络中的ARP数据并分析(附C语言实现)
ARP协议是“Address Resolution Protocol”的缩写,它的作用是将IP地址转换成物理地址(就是常说的MAC地址), 协议ARP的分组格式如下:------------------------------------------以太网目的地址(6个字节)以太网源地址(6个字节)帧类型(ARP = 0806)(2个字节)-------------------原创 2012-04-16 20:44:51 · 8265 阅读 · 1 评论 -
linux网络编程之:TCP[13] flag combinations[转]
Capturing TCP packets with particular flag combinations (SYN-ACK, URG-ACK, etc.)There are 8 bits in the control bits section of the TCP header:CWR | ECE | URG | ACK | PSH | RST | SYN原创 2012-04-17 19:51:28 · 6135 阅读 · 0 评论 -
linux网络编程之 :ARP协议的报文格式[转]
结构ether_header定义了以太网帧首部;结构arphdr定义了其后的5个字段,其信息用于在任何类型的介质上传送ARP请求和回答;ether_arp结构除了包含arphdr结构外,还包含源主机和目的主机的地址。定义常#define EPT_IP 0x0800 /* type: IP */#define EPT_ARP 0x0806 /* type: ARP */#原创 2012-04-19 11:17:09 · 7437 阅读 · 0 评论 -
linux网络编程之:DNS报文格式[转]
该报文由12字节的首部和4个长度可变的字段组成。标识字段由客户程序设置并有服务器返回结果。16bit的标志字段 如下:QR:0表示查询报文,1表示响应报文Opcode:通常值为0(标准查询),其他值为1(反向查询)和2(服务器状态请求)。AA:表示授权回答(authoritative answer).TC:表示可截断的(truncated)RD:表示期望递归RA:表原创 2012-04-24 17:01:00 · 6711 阅读 · 0 评论 -
linux网络编程之:UDP数据包格式
UDP数据报格式有首部和数据两个部分。首部很简单,共8字节。包括: ◆源端口(Source Port):2字节,源端口号。 ◆目的端口(Destination Port ):2字节,目的端口号。 ◆长度(Length):2字节,UDP用户数据报的总长度,以字节为单位。 ◆检验和(Checksum):2字节,用于校验UDP数据报的数字段和包含UDP数据原创 2012-04-24 16:46:44 · 10854 阅读 · 0 评论 -
编写自己的ls程序
本程序用来仿照linux中的ls -l命令来实现的,主要运用的函数有opendir,readdir, lstat等。代码如下:#include #include #include #include #include #include #include #include #include using namespace std;void getFileAndDir(ve原创 2012-04-03 16:15:47 · 5846 阅读 · 4 评论 -
Unix网络编程(卷二)源码编译报错解决 .
源码下载地点:http://www.kohala.com/start/unpv22e/unpv22e.html1、按照Readme操作,进入lib目录下make报错: gcc -g -O2 -D_REENTRANT -Wall -D_POSIX_PTHREAD_SEMANTICS -c -o daemon_inetd.o daemon_inetd.cIn file inc翻译 2012-02-28 13:53:58 · 6733 阅读 · 0 评论 -
linux中的C里面使用pthread_mutex_t锁
linux下为了多线程同步,通常用到锁的概念。posix下抽象了一个锁类型的结构:ptread_mutex_t。通过对该结构的操作,来判断资源是否可以访问。顾名思义,加锁(lock)后,别人就无法打开,只有当锁没有关闭(unlock)的时候才能访问资源。它主要用如下5个函数进行操作。1:pthread_mutex_init(pthread_mutex_t * mutex,const p翻译 2012-02-16 14:07:37 · 42698 阅读 · 6 评论 -
在fedora里面安装BerkeleyDB数据库
已转到:http://www.wypblog.com/archives/179 一、首先到oracle的官网下载Berkeley db数据库源文件下载地址http://download.oracle.com/otn/berkeley-db/db-5.3.15.tar.gz 二、下载之后的文件是一个打包好的文件,需要在命令行里面利用tar来解压(当然你也可以利用一些可原创 2012-03-09 16:29:34 · 5979 阅读 · 1 评论