
linux
404_jerry
小白
展开
-
关于 fork 和父子进程的理解
关于 fork 和父子进程的理解 (http://blog.163.com/kingore@126/blog/static/8540871920097300284862/)代码:#include #include main () { pid_t pid; pid=fork();转载 2017-08-17 17:31:01 · 7499 阅读 · 4 评论 -
IO复用 socket epoll
socket阻塞与非阻塞,同步与异步作者:huangguisu1. 概念理解 在进行网络编程时,我们常常见到同步(Sync)/异步(Async),阻塞(Block)/非阻塞(Unblock)四种调用方式:同步: 所谓同步,就是在发出一个功能调用时,在没有得到结果之前,该调用就不返回。也就是必须一件一件事做,等前一件做完了转载 2017-09-16 13:20:38 · 438 阅读 · 0 评论 -
linux 编程:UDP协议下实现服务器端程序设计
实验三 UDP服务器端程序设计一、实验目的学习和掌握Linux下的UDP服务器基本原理和基本编程方法,体会与TCP的区别,TCP编程:http://blog.youkuaiyun.com/yueguanghaidao/article/details/7035248二、实验平台ubuntu-8.04操作系统三、实验内容编写Linux下UDP服务器套接字程序,服务器翻译 2017-09-13 22:35:54 · 988 阅读 · 0 评论 -
Linux c 通过TCP协议实现多个客户端连接服务器
通过父子进程实现TCP的多个客户端连接服务器 tcp_sever_fork.c#include #include #include #include #include #include #include #define PORT 3333 int main() { int sockfd; int sock_fd;转载 2017-09-13 15:47:42 · 4698 阅读 · 1 评论 -
Linux进程间通信之信号量(semaphore)、消息队列(Message Queue)和共享内存(Share Memory) System V 进程通信方式:信号量(semaphore)、消息队列
Linux进程间通信之信号量(semaphore)、消息队列(Message Queue)和共享内存(Share Memory)System V 进程通信方式:信号量(semaphore)、消息队列(Message Queue)和共享内存(Share Memory) 信号量信号量(semaphore)实际是一个整数,它的值由多个进程进行测试(test)和设置(set)。就每翻译 2017-08-23 16:46:49 · 422 阅读 · 0 评论 -
linux 管道、消息队列、共享内存的对比
-----管道管道的优点是不需要加锁,缺点是默认缓冲区太小,只有4K,同时只适合父子进程间通信,而且一个管道只适合单向通信,如果要双向通信需要建立两个。而且不适合多个子进程,因为消息会乱,它的发送接收机制是用read/write这种适用流的,缺点是数据本身没有边界,需要应用程序自己解释,而一般消息大多是一个固定长的消息头,和一个变长的消息体,一个子进程从管道read到消息头后,消息体可能被别的转载 2017-08-23 16:45:51 · 945 阅读 · 0 评论 -
linux 管道读写规则
一,管道读写规则当没有数据可读时O_NONBLOCK disable:read调用阻塞,即进程暂停执行,一直等到有数据来到为止。O_NONBLOCK enable:read调用返回-1,errno值为EAGAIN。当管道满的时候O_NONBLOCK disable: write调用阻塞,直到有进程读走数据O_NONBLOCK enable:调用返回-1,errno值为EAG转载 2017-08-22 13:16:37 · 551 阅读 · 0 评论 -
Linux间进程通信 管道
Linux间进程通信的方法在前一篇文章中已有详细介绍。http://blog.youkuaiyun.com/jmy5945hh/article/details/7350564本篇详细介绍及代码测试第一种方式,即管道(Pipe)及有名管道(named pipe)。1-1 管道简介也称匿名管道,其在系统中没有实名,是进程的一种资源,因此不可以在文件系统中以任何形式查转载 2017-08-22 13:13:23 · 372 阅读 · 0 评论 -
c 字符串操作函数strtok、strstr、strchr备忘
今天遇到平时比较少用的这三个字符串函数,查资料并测试了一下,备忘。。。头文件:#include 1、定义函数:char * strtok(char *s, const char *delim);函数说明:strtok()用来将字符串分割成一个个片段. 参数s 指向欲分割的字符串, 参数delim 则为分割字符串,当strtok()在参数s 的字符串中发现到参数delim 的分割字符转载 2017-08-15 10:38:18 · 527 阅读 · 0 评论 -
C语言字符串操作相关函数
函数名: stpcpy 功 能: 拷贝一个字符串到另一个 用 法: char *stpcpy(char *destin, char *source); 程序例:#include #include int main(void) { char string[10]; char *str1 = "abcdefghi"; stpcpy(stri原创 2017-08-15 10:24:18 · 11291 阅读 · 0 评论 -
C语言读取配置文件
配置文件的格式如下:key1 = value1key2 = value2 . . .名值对以一个=链接,一条记录以换行符分割头文件:#include#include#include string.h>函数原型:void trim(char *strIn, char *strOut);//去除字符串首位转载 2017-08-15 10:22:05 · 1138 阅读 · 0 评论 -
linux shell 管道命令(pipe)使用及与shell重定向区别
看了前面一节:linux shell数据重定向(输入重定向与输出重定向)详细分析 估计还有一些朋友是头晕晕的,好复杂的重定向了。这次我们看下管道命令了。shell管道,可以说用法就简单多了。 管道命令操作符是:”|”,它仅能处理经由前面一个指令传出的正确输出信息,也就是 standard output 的信息,对于 stdandard error 信息没有直接处理能力。然后,传递给下一转载 2017-08-14 16:57:12 · 586 阅读 · 0 评论 -
linux使用shell的基本功能
1).设置局部变量,就能在shell进程的任何地方使用它了,如果启动一个新的进程或者退出了子进程,变量就不起作用了~$ test=testing~$ echo $testtesting~$ exit~$ echo $test~$2).设置全局变量。 创建全局变量的方法是先创建一个局部环境变量,然后用export命令让它变成 全局~$ test=test转载 2017-08-14 16:54:04 · 1205 阅读 · 0 评论 -
转 gdb参数及命令详解 (已整理) core dump调试
名称 gdb - GNU 调试器提要 gdb [-help] [-nx] [-q] [-batch] [-cd=dir] [-f] [-b bps] [-tty=dev] [-s symfile] [-e prog] [-se prog] [-c core] [-x cmds] [-d d转载 2017-08-14 16:43:24 · 663 阅读 · 0 评论 -
fork 和父子进程的理解
刚刚学Linux下C程序开发,看的是清华大学出版社出版的《Linxu C 程序基础与实例讲解》,我现在对父子进程的执行顺序感到很困惑。书上的例子是先子进程后父进程。但在我的电脑上(Ubuntu 10.10)却是先父进程后子进程。网上说,这是内核进程调度问题,请问一下这是怎么搞得,这样的程序是无法跨平台使用的吧?附书上的例子:C/C++ code?原创 2017-08-17 17:37:56 · 945 阅读 · 0 评论 -
vi编辑器指令大全
vi命令是UNIX操作系统和类UNIX操作系统中最通用的全屏幕纯文本编辑器。Linux中的vi编辑器叫vim,它是vi的增强版(vi Improved),与vi编辑器完全兼容,而且实现了很多增强功能。vi编辑器支持编辑模式和命令模式,编辑模式下可以完成文本的编辑功能,命令模式下可以完成对文件的操作命令,要正确使用vi编辑器就必须熟练掌握着两种模式的切换。默认情况下,打开vi编辑器后自动进入命令模式...转载 2018-03-06 23:05:30 · 786 阅读 · 0 评论