1、system函数学习 定义函数 // param: cmd命令字符串 // return: -1:出现错误, 0:调用成功但是没有出现子进程, 127:调用/bin/sh时失败, >0:成功//退出的子进程的id int system(const char * cmdstring) { pid_ ...
分类:
其他好文 时间:
2019-11-27 01:04:15
阅读次数:
81
一、了解Unix网络编程5种I/O模型 1.1、阻塞式I/O模型 阻塞I/O(blocking I/O)模型,进程调用recvfrom,其系统调用直到数据报到达且被拷贝到应用进程的缓冲区中或者发生错误才返回。进程从调用recvfrom开始到它返回的整段时间内是被阻塞的。 1.2、非阻塞式I/O模型 ...
分类:
编程语言 时间:
2019-11-16 16:06:10
阅读次数:
451
https://www.cnblogs.com/dongguolei/p/8086346.html https://blog.csdn.net/quantum7/article/details/83058837 https://www.cnblogs.com/caosiyang/archive/20 ...
分类:
系统相关 时间:
2019-11-06 16:36:39
阅读次数:
140
一、序列化基本概述1、何为序列化序列化就是将内存中的对象,转换成字节序列(或者按照其他数据传输协议转换),以便于持久化存储到磁盘中以及网络传输2、为什么需要序列化一般情况下,对象只存储在本地的内存中,只允许本地的进程调用。而随着分布式程序的出现,需要在不同的主机上不同进程调用对象,这就需要将对象通过网络传输到另外的主机上。但是对象不经过处理无法通过网络传输,而通过序列化处理之后,对象可以通过网络传
分类:
其他好文 时间:
2019-10-29 13:26:00
阅读次数:
74
阻塞IO(blocking IO) 在linux中,默认情况下所有的socket都是blocking,一个典型的读操作流程大概是这样: 当用户进程调用了recvfrom这个系统调用,kernel就开始了IO的第一个阶段:准备数据。对于network io来说,很多时候数据在一开始还没有到达(比如,还 ...
分类:
其他好文 时间:
2019-10-13 11:28:45
阅读次数:
78
主进程调用Process.waitfor后已挂起。当前子进程和主进程之间的缓冲区塞满后,子进程不能继续写数据,然后也会挂起。 需要获取Process.getInputStream和Process.getErrorStream并处理。 ...
分类:
编程语言 时间:
2019-09-20 18:26:14
阅读次数:
95
写在前面 epoll是开发linux高性能服务器的必备技术至,epoll本质,是服务端程序员的必须掌握的知识。 七、epoll的原理和流程 本节会以示例和图表来讲解epoll的原理和流程。 创建epoll对象 如下图所示,当某个进程调用epoll_create方法时,内核会创建一个eventpoll ...
分类:
其他好文 时间:
2019-09-15 10:59:43
阅读次数:
80
pthread_join 等待一个特定线程的退出 进程控制块分为调度信息和现场信息 进程标识符 进程当前状态 代码段指针 进程从运行——>就绪的原因可能是:1.被调度程序抢占处理机 2.进程完成创建 3.时间片用完 非抢占式能引起新的进程调度是:1.正在执行的进程运行完毕 正在执行的进程调用阻塞原语 ...
分类:
编程语言 时间:
2019-09-04 09:33:09
阅读次数:
113
一个老外的有关Redis的博客文章中提到一个有趣的事情:它们在测试期间获得的延迟图。为了持久化Redis的数据到磁盘(例如:RDB持久化),Redis需要调用fork()系统命令。通常使用物理服务器和大多数虚拟机管理程序进行fork是很快的,即使很大的进程也是如此。然而,Xen的fork()速度很慢,因此对于某些EC2实例类型(以及其他虚拟服务器提供程序),每次父进程调用fork()以便进行RDB
分类:
其他好文 时间:
2019-08-27 19:37:06
阅读次数:
123
一、共享内存shm 1 概念:多个进程的地址空间都映射到同一块物理内存,这样多个进程都能看到这块物理内存,实现进程间通信,而且不需要数据的拷贝,所以速度最快。 二、内存映射mmap 1 前言:先介绍一下普通的读写文件的原理,进程调用read/write系统调用后会陷入内核,内核开始读写文件,假设内核 ...
分类:
系统相关 时间:
2019-08-21 15:10:01
阅读次数:
122