Linux Select IO 模型
在 Linux 下,select 函数通常用于多路复用 I/O,可以同时监视多个文件描述符的状态,当其中任何一个文件描述符准备就绪时,select 函数就会返回。 通过同时监控多个 I/O 流的状态来实现对多个 I/O 任务的处理。它可以让单个线程同时处理多个 I/O 任务,从而提高系统的并发处理能力。 Linux select IO 模型的具体工作过程如下: 1. 首先...
在 Linux 下,select 函数通常用于多路复用 I/O,可以同时监视多个文件描述符的状态,当其中任何一个文件描述符准备就绪时,select 函数就会返回。 通过同时监控多个 I/O 流的状态来实现对多个 I/O 任务的处理。它可以让单个线程同时处理多个 I/O 任务,从而提高系统的并发处理能力。 Linux select IO 模型的具体工作过程如下: 1. 首先...
linux 在进行网络应用程序开发时,常用到以下的 linux 网络 API: 1. `socket()`:用于初始化一个新的套接字 2. `bind()`:用于将套接字与一个本地地址绑定 3. `listen()`:用于将套接字标记为被动套接字,接受来自客户端的连接请求 4. `accept()`:用于接受来自客户端的连接请求,并返回一个新的已连接套接字,与客户端进行通信 ...
Epoll IO 模型是 Linux 中用于 I/O 多路复用的机制,可以用于监听多个文件描述符上的事件,以及非阻塞地等待这些事件的发生。其工作机制大致如下: 1. 首先,初始化一个 Epoll 实例,这个实例主要在内核中维护的两个数据结构,一个红黑树,用于存储被检测的文件描述符,一个链表,用于存储就绪事件 2. 然后,我们将要监控的文件描述符放到 Epoll 实例的红黑树中...
简介 {#%E7%AE%80%E4%BB%8B} ------------------------ 在服务端,我们可能会对linux进行简单的监控或者定期执行一些操作,因此会用到linux自带的定时任务功能(crontab) 安装 {#%E5%AE%89%E8%A3%85} ------------------------ 默认Linux系统内置cron,如果没有的话,就...
1、查看内核版本 {#1%E3%80%81%E6%9F%A5%E7%9C%8B%E5%86%85%E6%A0%B8%E7%89%88%E6%9C%AC} ---------------------------------------------------------------------------- * `cat /proc/version` * `uname -a` ...
`lrzsz` 是一款能够在 `Linux` 端上传和下载文件的工具,相对于 `ftp` 来说,无需配置文件服务,使用简单方便。 这个工具使用了 ZMODEM 文件传输协议来实现文件的上传和下载的,目前主流的SSH连接工具 ( SecureCRT、XShell 等 ) 都支持这些协议。 安装lrzsz {#%E5%AE%89%E8%A3%85lrzsz} ========...
本文以Debian或者Ubuntu系统为例,CentOS的话,只需把`apt`换成`yum`即可。 1. 更新相关系统包 {#1.-%E6%9B%B4%E6%96%B0%E7%9B%B8%E5%85%B3%E7%B3%BB%E7%BB%9F%E5%8C%85} ==========================================================...
nvm(Node.js Version Manager)是一个用于管理 Node.js 版本的工具,可以帮助用户快速切换 Node.js 版本。 通过 nvm,用户可以在同一台计算机同时安装和使用多个不同的 Node.js 版本,并且可以方便地在它们之间进行切换。 > tips: 一定要卸载已安装的 NodeJS,否则会发生冲突。 ### 一、Linux 安装 {#...
很多时候需要执行一些需要很长时间的任务。如果这时候,网络连接突然断开了,那么之前所做的所有工作可能都会丢失,所做的工作可能都要重做一遍,这会浪费许多的时间,非常影响工作。使用 `screen` 命令。`screen` 命令允许用户在一个窗口内使用多个终端会话,可以断开连接,也可以重新连接已断开连接的会话。每个会话都可以恢复连接,这样就算会话断开了,用户也不必担心数据丢失。 什...
之前发了一篇打造酷炫终端教程,深受读者喜爱,很多人问我在 CentOS 系统中如何使用,今天给大家补一篇 CentOS7 系统的教程。 效果截图 {#效果截图} ------------ 效果如图: [![](http://static.51tbox.com/static/2024-11-09/col/cd82ab348867ff6ac82c844231c87a89...