Linux
文章平均质量分 78
松狮MVP
这个作者很懒,什么都没留下…
展开
-
可以输出图形字符的几个命令
1、banner先使用如下命令安装:$ sudo apt-get update;sudo apt-get install sysvbanner然后:$ banner I Love You或者你觉得这字体不好看,那么你还可以使用默认已经安装的一个命令printerbanner:$ printerbanner -w 50 A原创 2015-06-25 12:36:03 · 3096 阅读 · 0 评论 -
UNIX网络编程——shutdown函数(I/O复用并发服务器)
上述这篇文章http://blog.csdn.net/songshimvp1/article/details/51838990中,第4点,以批量处理方式运行客户,仅仅使用select无法实现TCP的半关闭——给服务器发送一个FIN,告诉它我们完成了数据的发送,但是仍然保持套接字描述符打开以便读取。1、shutdown函数的作用(1)close把描述符的引用计数减1,仅在该计数变为0原创 2016-07-06 22:00:56 · 1059 阅读 · 0 评论 -
UNIX网络编程——使用waitpid处理僵尸进程(TCP客户/服务器优化1)
1、僵尸进程 僵尸进程:一个进程使用fork创建子进程,如果子进程退出,而父进程并没有调用wait或waitpid获取子进程的状态信息,那么子进程的进程描述符仍然保存在系统中。这种进程称之为僵死进程。 unix提供了一种机制可以保证只要父进程想知道子进程结束时的状态信息, 就可以得到。这种机制就是: 在每个进程退出的时候,内核释放该进程所有的资源,包括打开的文件,占用的内存等。 但是原创 2016-07-06 12:01:58 · 1120 阅读 · 0 评论 -
UNIX网络编程——并发服务器(I/O复用)
I/O复用型并发服务器:I/O复用是用来解决。 在这篇文章http://blog.csdn.net/songshimvp1/article/details/51819765中,介绍了多进程并发服务器(为每一个客户fork一个子进程)。接下来我们介绍I/O复用型并发服务器(使用select来处理任意个客户(单进程))。1、图解使用select编写I/O复用型并发服务器原创 2016-07-07 10:24:32 · 1279 阅读 · 0 评论 -
UNIX网络编程——基本UDP套接字编程
1、UDP客户/服务器套接字函数UDP回射客户/服务器:2、UDP服务器实现:#include "unp.h"void dg_echo(int sockfd, SA *pcliaddr, socklen_t clilen){ int n; socklen_t len; char mesg[原创 2016-07-07 15:09:25 · 661 阅读 · 0 评论 -
UNIX网络编程——进程间通信
进程间通信,Interprocess Communication,IPC1、管道和FIFO(1)管道的根本局限在于没有名字,从而只能由有亲缘关系的进程使用。FIFO也叫有名管道,解决了这个限制。管道和FIFO都是使用read和write函数来访问的。(2)创建管道:int pipe (int fd[2])——提供一个单路数据流,返回两个文件描述符。fd[0]打开来读,fd[1]原创 2016-07-27 19:53:29 · 892 阅读 · 0 评论 -
UNIX网络编程——基本SCTP套接字编程
1、一到一形式:(与TCP的典型用法几乎一样) 一到一形式套接字是一个类型为SOCK_STREAM,协议为IPPROTO_SCTP的网际套接字。2、一到多形式: 服务器程序无需管理大量的套接字描述符,单个套接字描述符将代表多个关联。在一到多形式的套接字上,用“关联标识”来标识单个连接。 一到多形式套接字是一个类型为SOCK_S原创 2016-07-07 20:36:59 · 1719 阅读 · 0 评论 -
UNIX网络编程——守护进程和inted超级服务器
1、守护进程 守护进程是在后台运行,且不和任何控制终端交互关联的进程。2、syslogd守护进程——系统日志消息守护进程(1)syslogd函数:调用该函数从守护进程中登记消息。 void syslog(int priority, const char *message, ... ); 参数priority是level(原创 2016-07-08 13:21:08 · 1760 阅读 · 0 评论 -
UNIX网络编程——套接字I/O操作上的超时设置
1、调用alarm(SIGALRM信号处理)调用alarm,它在指定超时期满时产生SIGALRM信号。(1)使用SIGALRM为connect设置超时:因为在多线程程序中处理信号非常困难,因此建议只是在未线程化程序 或 单线程化程序中使用该技术。/* include connect_timeo */#include "unp.h"static void connect_alarm原创 2016-07-08 14:13:20 · 667 阅读 · 0 评论 -
大端法、小端法、网络字节序 以及 Linux硬链接、软链接(转)
关于字节序(大端法、小端法)的定义《UNXI网络编程》定义:术语“小端”和“大端”表示多字节值的哪一端(小端或大端)存储在该值的起始地址。小端存在起始地址,即是小端字节序;大端存在起始地址,即是大端字节序。 也可以说: 1.小端法(Little-Endian)就是低位字节排放在内存的低地址端即该值的起始地址,高位字节排放在内存的高地址端。 2.大端法(Big-Endian)就是转载 2016-08-02 12:23:35 · 1058 阅读 · 0 评论 -
UNIX网络编程——TCP的连接建立与终止、基本TCP客户/服务器套接字函数
写在前面,本来觉得关于TCP的建立与终止是一些纯理论的东西,看UNIX网络编程时大概看了一下,没想到后面所涉及到的编程都需要十分熟悉TCP的建立、连接、终止的过程细节,所以特地返回来总结一下。原创 2016-07-05 18:09:25 · 1225 阅读 · 0 评论 -
Nginx服务器简介
1、Nginx简介(1)三大功能:A.web服务器; B.反向代理服务器(负载均衡); C.邮件服务器(不常用);反向代理服务器模型:(2)Nginx的优势:2、Nginx的工作原理(1)Nginx进程模型: Nginx进程模型图: Nginx进程模型的优势:原创 2016-08-09 17:20:13 · 676 阅读 · 0 评论 -
UNIX网络编程——I/O复用(select、poll)
1、五种I/O模型: (1)阻塞式I/O;(2)非阻塞式I/O;(3)I/O复用(select、poll);(4)信号驱动式I/O(SIGIO);(5)异步I/O(aio_系列函数); 一个输入操作分为两个阶段:A. 等待数据准备好;B. 从内核向进程复制数据。 一个套接字上的输入也类似,A. 等待数据从网络中到达(所等待分组到达时,会被复制到内核中的某个缓原创 2016-07-06 17:40:20 · 987 阅读 · 0 评论 -
UNIX网络编程——并发服务器(多进程)
1、TCP客户/服务器(回射服务器)完整简单示例:原创 2016-07-05 20:57:27 · 1373 阅读 · 0 评论 -
孤儿进程与僵尸进程
1、前言 之前在看《unix环境高级编程》第八章进程时候,提到孤儿进程和僵尸进程,一直对这两个概念比较模糊。今天被人问到什么是孤儿进程和僵尸进程,会带来什么问题,怎么解决,我只停留在概念上面,没有深入,倍感惭愧。晚上回来google了一下,再次参考APUE,认真总结一下,加深理解。2、基本概念 我们知道在unix/linux中,正常情况下,子进程是通过父进程创建的,子进程在创建新的转载 2016-07-04 15:41:59 · 362 阅读 · 0 评论 -
编译、安装rdesktop 1.8.3
1、安装GCC:安装C/C++编译器apt-get install gcc gcc安装相关构建工具apt-get install build-essential另外再装一下下面这两个:checking for GSSGLUE... no错误(1):CredSPP support requires libgssglue, install the dep原创 2015-09-08 15:39:37 · 11392 阅读 · 0 评论 -
安装完win7+Ubuntu双系统,无法进入Win7加载项
用Boot-repair修复双系统引导:http://jingyan.baidu.com/article/5553fa82cd48a765a23934ae.html前几天在笔记本上装完Win7+Ubuntu双系统后(ps:以前ubuntu都是装虚拟机里的),发现无法进入Win7了,遇到"A read disk error occurred"错误。Ubuntu是把ISO镜像文件写入U盘后转载 2015-12-06 22:28:58 · 2330 阅读 · 2 评论 -
Linux基础——VIM编辑器、磁盘管理、用户管理
1、VIM编辑器(1)VIM操作模式: command MOde:命令模式——:默认启动模式 Insert Mode:输入模式 —— i:开始插入,命令模式切换到输入模式 Last Line Mode:底行模式 —— : ESC——》:wq——》回车:保存退出 (2)VIM的命令格式:原创 2016-03-21 23:06:48 · 759 阅读 · 0 评论 -
Linux基础——常用命令
1、Linux与Windows的区别: (1)Linux严格区分大小写; (2)Linux的所有内容都以文件形式保存,包括硬件、用户等; (3)Linux 本身不靠扩展名区分文件类型;(但是有 “约定熟成” 的扩展名) (4)Windows下的程序 不能直接 在Linux中安装和运行; (5)字符界面 占用的系统资源少;原创 2016-03-12 01:13:53 · 794 阅读 · 0 评论 -
shell script基础
1、shell script的默认变量($0 , $1 ...) /path/scriptname opt1 opt2 opt3 $0 $1 $2 $3 执行的脚本文件名为$0这个文件名,第一个参数就是$1.。。。。。 2、条件判断式:[ condition ] —— “-a”是“且”;“-o”是“或”!原创 2016-04-08 10:06:35 · 543 阅读 · 0 评论 -
管道命令
管道命令仅会处理standard out,对于standard error out则不予理会;管道命令必须能够接收前一个命令的数据成为standard input继续处理才行。1、cut ——主要用途:将同一行里面的数据以某些字符当做切割的参数进行分解。 -d ‘:’——以:作为分隔符。 -f 3,5,6——取出第3,5,6段。 例如:ec原创 2016-04-08 14:51:58 · 441 阅读 · 0 评论 -
认识vim
1、三种模式: (1)一般模式:默认模式——移动光标、删除字符(delete)、删除整行、复制、粘贴; (2)编辑模式:INSERT、REPLACE——编辑文件内容; (3)命令行模式:底行模式—— i在光标前进入 I在行首进入 a在光标后进入 A原创 2016-04-08 14:53:29 · 518 阅读 · 0 评论 -
Linux目录、文件
三种身份:owner、group、others;三种权限:read、write、execute。1、文件属性 drwxrw-r-x 125 root root 42304 Sep 4 18:26 install.org (1) (2) (3)原创 2016-04-09 20:55:51 · 569 阅读 · 0 评论 -
《UNIX环境高级编程》源码配置——apue.3e 安装
网上大都是针对UNIX高级编程第二版的头文件搭建,现在对于第三版来说有些过时,因为很对针对linux的make文件已经改变了很多。话不多说,下面就来看看具体的搭建过程:1.在网上下载书中源代码,点击打开链接——www.apuebook.com2.解压文件:tar -zxvf *.tar.gz3.cd apue.3e/4.make在这个过程中,你会看到最后由于ca转载 2016-05-18 00:06:22 · 5203 阅读 · 0 评论 -
UDP,TCP,SCTP使用场合
1、何时使用UDP代替TCP?(1)UDP的优势: A. UDP支持广播和多播。如果应用程序使用广播或者多播,那就必须使用UDP。 B. UDP没有连接的建立与拆除。UDP只需要两个分组就能交换一个请求和一个应答。(2)UDP无法提供的TCP特性:(3)总结建议: 多媒体应用领域的增长将会促原创 2016-07-13 00:09:52 · 4059 阅读 · 1 评论 -
UNIX网络编程——TCP客户/服务器(回射服务器)示例(多进程服务器)
TCP客户/服务器(回射服务器)完整简单示例。如果你想了解TCP客户/服务器,以及多进程并发服务器具体过程,可以看:http://blog.csdn.net/songshimvp1/article/details/51819820 和 http://blog.csdn.net/songshimvp1/article/details/51819765。原创 2016-07-06 09:59:26 · 1221 阅读 · 0 评论 -
UNIX网络编程——并发服务器(多线程)
并发服务器: (1)多进程并发服务器:http://blog.csdn.net/songshimvp1/article/details/51819765 示例:http://blog.csdn.net/songshimvp1/article/details/51833781 (2)I/O复用并发服务器:ht原创 2016-07-13 11:10:23 · 1144 阅读 · 0 评论 -
UNIX网络编程——概述
1、编写计算机网络通信程序,首先要确定这些程序相互通信所用的协议。在深入设计一个协议之前,应该从高层次决断由哪一个程序发起通信,以及在何时产生响应。2、(1)客户与服务器使用TCP在同一个局域网(2)客户与服务器在不同局域网(使用广域网连接)3、OSI模型和网际协议族中的各层 我们不关心OSI的最底两层。网络层由IPv4和IPv6这两个协议处理。可选择原创 2016-07-03 13:51:51 · 532 阅读 · 0 评论 -
epoll并发服务器
1、基本模型(1)多进程并发服务器:http://blog.csdn.net/songshimvp1/article/details/51819765(2)多线程并发服务器:http://blog.csdn.net/songshimvp1/article/details/51895311(3)I/O服用并发服务器:select、poll2、epoll服务器(1)epoll_转载 2016-08-08 19:24:56 · 959 阅读 · 0 评论