Lomo's BLOG

行之而不著焉 习矣而不察焉 终身由之而不知其道也 众也 ~
  首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

文章分类 -  <font style="font-family:verdana; color:lightsalmon;font-size:12px;"><b>Linux</b></font>

摘要:Cygwin User Guide: 1 引言:cygwin是一个在windows平台上运行的unix模拟环境,是cygnus solutions公司开发的自由软件(该公司开发了很多好东西,著名的还有eCos,不过现已被Redhat收购)。它对于学习unix/linux操作环境,或者从unix到windows的应用程序移植,或者进行某些特殊的开发工作,尤其是使用gnu工具集在windows上进行... 阅读全文

posted @ 2006-05-06 09:52 Lomo 阅读(454) 评论(0) 推荐(0)

摘要:1_服务器进程终止:启动服务器&客户,杀死服务器子进程,此时引发一个FIN发给客户,客户TCP给予相应ACK,TCP连接终止工作完成一半,父进程处理SIGCHLD后发FIN至客户端套接口,但客户端正阻塞于fgets调用,这便是问题所在。客户工作时有两个描述字:套接口和用户输入,它不能仅仅阻塞于其中某个特定的源,而应该阻塞于任意源的输入。这正是函数select&poll的一个目的。 2_服务器主机崩... 阅读全文

posted @ 2006-05-03 11:42 Lomo 阅读(297) 评论(0) 推荐(0)

摘要:在前面的例子中,我们调用wait&waitpid来处理终止的子进程: pid_t wait(int * statloc);pid_t waitpid(pid_t pid, int *statloc, int options); 两个函数都返回两个值:函数的返回值和终止的子进程ID,而子进程终止的状态则是通过statloc指针返回的。 wait&waitpid的区别是显而易见的,wa... 阅读全文

posted @ 2006-05-03 11:05 Lomo 阅读(1322) 评论(0) 推荐(0)

摘要:1_信号常常被叫做软中断,而且都是异步的。信号是可以在进程之间,内核与进程之间产生。 2_通过sigaction来设置一个信号的处理办法,通常有三种选择: ·信号发生时调用信号处理程序(signal handler),其中,有SIGKILL,SIGSTOP两个信号无法被捕捉。 ·通过设置信号处理办法为SIG_ING来忽略信号,同样的,SIGKILL,SIGSTOP无法被忽略。 ·... 阅读全文

posted @ 2006-05-01 11:21 Lomo 阅读(753) 评论(0) 推荐(0)

摘要:Sample: TcpServer: #include "unp.h"int main(int argc,char * *argv){ int listenfd,connfd; pid_t childpid; socklen_t clilen; struct sockaddr_in cliaddr,servaddr; listenfd = Socket(AF_INET,SOCK_STRE... 阅读全文

posted @ 2006-04-23 12:16 Lomo 阅读(653) 评论(0) 推荐(0)

摘要:1_ 建立一个与TCP服务器的连接:connect函数, int connect(int sockfd, const struct sockaddr * servaddr, socklen_t addrlen); 2_connect的几种错误返回类型: ·TCP客户没有收到SYN分节的响应,返回ETIMEDOUT; ·对客户的SYN相应是RESET,称为硬错,返回ECONNREFUSED;... 阅读全文

posted @ 2006-04-17 10:03 Lomo 阅读(649) 评论(0) 推荐(0)

摘要:1_通用套接口定义: struct sockaddr{uint8_t sa_len;sa_family_t sa_family;char sa_data[14];} 套接口函数常常被定义成使用指向套接口结构的指针,这要求对这些函数任何时候的调用都必须将指向特定于协议的套接口地址转换成指向通用套接口结构的指针类型: struct sockaddr_in serv;/**//*IPV4 socket ... 阅读全文

posted @ 2006-04-15 15:38 Lomo 阅读(402) 评论(0) 推荐(0)

摘要:Chapter9: 1. The syntax error will be found out by the compiler, but as the expositive design language such as the shell of UNIX, all of the error will be exposed while running. 2. 阅读全文

posted @ 2005-12-15 15:03 Lomo 阅读(248) 评论(0) 推荐(0)

摘要:Chapter7: 1. Beforetime, almost all unix used a apt method to manage its memory which using the hardware policy to make sure every program have its own memory segment. 2. When we use the fu... 阅读全文

posted @ 2005-09-12 09:09 Lomo 阅读(226) 评论(0) 推荐(0)

摘要:The linux learning note – Chapter 6: 1.Curses function library is a important standard.It is the bridge between the text and X-window. 2.You can examine your curses config by the command :”ls -l /usr... 阅读全文

posted @ 2005-09-09 15:50 Lomo 阅读(304) 评论(0) 推荐(0)

摘要:源码如下: #include #include #define PASSWORD_LEN 8int main(){ struct termios initialrsettings, newrsettings; char password[PASSWORD_LEN + 1]; tcgetattr(fileno(stdin), &initialrsettings); //读出标准... 阅读全文

posted @ 2005-09-03 11:08 Lomo 阅读(264) 评论(0) 推荐(0)

摘要:Chapter5: 1、授权模式(标准模式):以行为单位,回车进行确认; 2、非授权模式:具有更大的控制权; 3、UNIX系统中,行结束是以一个行进纸字符LF为结尾,而不是像DOS一样利用一个回车CR和一个行进纸。这主要是由于UNIX里文本文件和二进制文件等同; 4、int isatty(int fd)系统调用可以判断文件描述符号正关联到一个终端上; 5、直... 阅读全文

posted @ 2005-09-01 13:12 Lomo 阅读(226) 评论(0) 推荐(0)

摘要:Chapter4: 当我们为Unix编写程序时,我们应该考虑到它将在一个多任务的环境下运行,这句话的意思是,保持各个正在运行或是等待运行的程序之间相安无事对我们来讲很重要,因此,需要采取些措施保证这一点。 1、通常情况下,我们对main定义:int main( int argc, char *argv[] )和main() 是相同的,其中argc表示参数个数,argv是一个字符串数... 阅读全文

posted @ 2005-08-24 12:23 Lomo 阅读(221) 评论(0) 推荐(0)

摘要:我们将要实现的是要得到一个子目录清单的程序,现在把许多文件处理函数集中在一起使用,程序遍历指定目录的文件,同时也要进到下级子目录中进行遍历,这一点是将子目录递归传递到opendir中去,需要指出的是,这就决定了如果子目录嵌套过深,程序将失败返回,因为允许打开的子目录流数量是有上限的。 源码如下: /**//* We start with the appropriate head... 阅读全文

posted @ 2005-08-23 11:14 Lomo 阅读(2077) 评论(1) 推荐(0)

摘要:方法一:利用系统底层调用逐个字节的拷贝往一个文件,源码: #include #include #include #include int main(){ char c; int in, out; in = open("file.in", O_RDONLY); out = open("file.out", O_WRONLY|O_CREAT, S_IRUSR|S_IWU... 阅读全文

posted @ 2005-08-22 12:35 Lomo 阅读(761) 评论(0) 推荐(0)

摘要:Chapter3: 1、在Unix里,文件就是一切。 2、用来访问底层设备驱动程序的系统调用:open , read , write , close , ioctrl; 3、open操作的权限参数,定义在/sys/stat.h: 4、文件类型标志包括: 5、 标准IO库: fopen函数:主要用于文件和终... 阅读全文

posted @ 2005-08-22 10:43 Lomo 阅读(261) 评论(0) 推荐(0)

摘要:决策一: 考虑到是小型实验程序,因此利用两个文件来存放数据,而非采用大型数据库; 决策二: 数据库设计,对CD对象建表:目录编号(KEY),标题,曲目风格,作曲家;对曲目对象建表:目录编号(KEY),曲目号,歌曲名; 决策三: 在文件中,利用逗号分隔数据项,我们叫做“comma-seperated variable”(CSV文件)。 开始是版权信息,我想这很重要: #!... 阅读全文

posted @ 2005-08-20 11:50 Lomo 阅读(497) 评论(0) 推荐(0)

摘要:Chapter2: 1、Shell作为用户与Unix系统的操作的接口,允许用户输入需要执行的命令,同时掩盖了系统内核的操作细节,从这个层面上看,它本身就算得上Unix系统的一门高级语言; 2、众多shell大都是由Bourne Shell演变而来,bash(Bourne again Shell)是其中的主角。在许多Linux系统中,/bin/sh就是指向bash的一个链接。 ... 阅读全文

posted @ 2005-08-18 10:08 Lomo 阅读(279) 评论(0) 推荐(0)

摘要:Chapter1: 1、在Posix兼容的系统上,C语言编译器传统的名字是简单的cc; 2、对C程序编译链接:#cc -o hello hello.c,其中-o表示把生成文件放在什么位置,否则在a.out中; 3、获得帮助man / info; 4、头文件一般放置在标准目录中,否则,通过-I指定其他头文件目录; 5、*.a 传统静态库文件,*.so/*.sa... 阅读全文

posted @ 2005-08-18 09:20 Lomo 阅读(200) 评论(0) 推荐(0)

摘要:?VI是visual edit 的缩写 藨h1i|"[? 文本编辑器是所有计算机系统中最常用的一种工具。UNIX下的编辑器有ex,sed和vi等,其中,使用最为广泛的是vi,而vi命令繁多, ?\?,╕噒 论坛里好像这方面的总结不多,以下稍做总结,以资共享!渴望更正和补充! 9嶙'澚C坸 #z???粝b 进入vi的命令 '躩瓀?摤 vi filename :打开或新建文件,并将光标... 阅读全文

posted @ 2005-07-21 14:19 Lomo 阅读(610) 评论(0) 推荐(0)