一、fork入门知识 一个进程,包括代码、数据和分配给进程的资源。fork()函数通过系统调用创建一个与原来进程几乎完全相同的进程,也就是两个进程可以做完全相同的事,但如果初始参数或者传入的变量不同,两个进程也可以做不同的事。 一个进程调用fork()函数后,系统先给新的进程分配资源,例如存储数据和 ...
分类:
其他好文 时间:
2018-09-25 15:27:10
阅读次数:
232
系统进程分为5种不同的状态: R(运行):正在运行或在运行队列中等待 S(中断):休眠中,在等待某个条件的形成或接受到信号 D(不可中断):收到信号不唤醒和不可运行。进程必须等待直到有中断发生 Z(僵死):进程已终止,但进程描述符存在,直到父进程调用wait4()系统调用后释放 T(停止):进程收到 ...
分类:
其他好文 时间:
2018-09-25 14:42:12
阅读次数:
327
一、概述 socket,套接字。 套接字是一种源IP地址和目的IP地址以及源端口号和目的端口号的组合.网络化的应用程序在开始任何通讯之前都必须要创建套接字.就像电话的插口一样,没有它就没办法通讯. 它是网络通信过程中端点的抽象表示,包含进行网络通信必须的五种信息:连接使用的协议,本地主机的IP地址, ...
分类:
其他好文 时间:
2018-09-11 21:18:29
阅读次数:
178
参考: "为什么需要RPC,而不是简单的HTTP接口" "深入浅出 RPC 浅出篇" "深入浅出 RPC 深入篇" 这个协议是为了满足远程进程调用,一般是远程调用。 从OSI网络模型对比来看,基于传输层的TCP,根据RPC的协议实现会话层(连接管理)和表示层(协议编码、加解密或者其他数据处理)就行了 ...
分类:
其他好文 时间:
2018-09-07 15:59:26
阅读次数:
134
# 多进程调用(大部分与多线程的操作一样) # 调用方式1 from multiprocessing import Process import time def f(name): time.sleep(1) print('hello', name, time.ctime()) if __name_... ...
分类:
系统相关 时间:
2018-08-18 23:45:25
阅读次数:
376
课前:磁盘空间不足系列:原因排查过程解决1.blockdf-h;du-sh/data/*具体的文件或目录确认之后删除2.block(硬连接数为0进程调用数不为0)lsof|grepdelete重启对应的服务3.inodedf-i;找出系统中大于1M的目录删除大量小文件时间:MtimeModifytime修改时间CtimeChangetime文件属性变化时间atimeAccesstime访问时间(c
分类:
其他好文 时间:
2018-08-01 20:37:36
阅读次数:
162
事件描述本次安全事件,客户内部几台服务器DNS指向被改,上次检查情况表明,域控并未遭受入侵。通过客户反映,在7月11日网络防火墙当天流量异常,遂对存在流量异常的服务器进行检查分析 进程分析: 在检查我利用pchunter对192.168.96.136这台服务器的进程调用情况进行了详细分析,发现有黑客 ...
分类:
其他好文 时间:
2018-07-21 16:52:23
阅读次数:
167
多路复用I/O 它的基本原理就是select/epoll这个function会不断的轮询所负责的所有socket,当某个socket有数据到达了,就通知用户进程。 流程图如下: 当用户进程调用了select,那么整个进程会被block,而同时,kernel会“监视”所有select负责的socket ...
分类:
其他好文 时间:
2018-07-18 21:47:33
阅读次数:
226
阻塞IO(blocking IO) 在Linux中,默认情况下所有的socket都是blocking,一个典型的读操作流程大概是这样: 当用户进程调用了recvfrom这个系统调用,kernel就开始了IO的第一个阶段:准备数据。对于network io来说,很多时候数据在一开始还没有到达(比如,还 ...
分类:
编程语言 时间:
2018-07-12 23:59:43
阅读次数:
300
本节讲解什么是非阻塞IO,如何将文件描述符修改为非阻塞式 3.6.1.1、阻塞与非阻塞 (1)阻塞是指函数调用会被阻塞。本质是当前进程调用了函数,进入内核里面去后,因为当前进程的执行条件不满足,内核无法里面完成操作,就挂起这个进程,去执行其他进程。默认使用阻塞IO (2)非阻塞IO当条件不满足时直接 ...
分类:
其他好文 时间:
2018-06-29 21:05:40
阅读次数:
163