原创 【Linux】多路 IO轉接服務器 — select

         多路IO轉接服務器也叫做多任務IO服務器。該類服務器實現的主旨思想是,不再由應用程序自己監視客戶端連接,取而代之由內核替應用程序監視文件。 主要使用的方法有三種:                            

原创 【Linux】多路 IO轉接服務器 — poll

poll #include <poll.h> int poll(struct pollfd *fds, nfds_t nfds, int timeout); struct pollfd { int fd; /* 文件描述符 */

原创 【Linux】IPC主題三 -------- 信號一(signal)

一、信號的概念        信號在我生活中隨處可見,如:古代戰爭摔杯爲號;現代戰爭中的信號彈;體育比賽中使用的信號槍 .......         它們都有共性:                                 1、

原创 【Linux】高併發服務器模型(多進程模型和多線程模型)

多進程併發服務器 使用多進程併發服務器時要考慮以下幾點:             1.      父進程最大文件描述個數(父進程中需要close關閉accept返回的新文件描述符)             2.      系統內創建進程個

原创 【Linux】IPC主題三 -------- 信號二(signal)

一、信號的產生        1、終端按鍵產生信號                   Ctrl + c                               2) SIGINT (終止/中斷)                   

原创 【TCP】狀態轉換

TCP狀態轉換           這個圖N多人都知道,它排除和定位網絡或系統故障時大有幫助,但是怎樣牢牢地將這張圖刻在腦中呢?那麼你就一定要對這張圖的每一個狀態,及轉換的過程有深刻的認 識,不能只停留在一知半解之中。下面對這張圖的1

原创 【Linux】回收子進程—wait/waitpid

一、孤兒進程        父進程先於子進程結束,則子進程稱爲孤兒進程,子進程的父進程成爲  init 進程,稱 init 進程領養進程孤兒進程,init 進程稱爲孤兒院。      #include<unistd.h> #includ

原创 第一百篇博客(開通博客一週年總結)

    不知不覺,csdn博客已經開通兩年了。2017年的12月份,是我開通博客的 2 週年紀念日。在這裏總結下,這兩年在 CSDN 上的動態。2016 年12月份,開始了自己博客的新篇章。當時,寫博客主要覺的寫博客好高大上的,因爲我認識

原创 【Linux】IPC主題 二-------- 共享內存(mmap)

一、mmap 函數      1、函數原型: #include <sys/mman.h> void *mmap(void *addr, size_t length, int prot, int flags,

原创 【Linux】進程間同步(進程間互斥鎖、文件鎖)

一、互斥量 mutex         進程間也可以使用互斥鎖 ,來達到同步的目的。但應在 pthread_mutex_init 初始化之前,修改其屬性爲進程間共享。mutex 的屬性修改函數主要有以下幾個。        主要應用函數:

原创 【Linux】初識線程

一、什麼是線程         1、LWP:light weight process  輕量級的進程,本質仍是進程(在 Linux 環境下)         2、進程:有獨立地址空間,擁有 PCB          3、線程:也有 PCB

原创 【Linux】深入理解線程(線程同步、互斥量mutex、死鎖、讀寫鎖、條件變量、信號量)

一、同步概念        1、線程同步:             同步即協同步調,按預定的先後次序運行。             線程同步,只一個線程發出某一功能調用時,在沒有得到結果之前,該調用不返回。同時,其他線程爲保證數據一致性,

原创 【Linux】終端/進程組/會話/守護進程

一、終端        1、什麼是終端?                     在 Linux 系統中,用戶通過終端登錄到系統後得到一個 shell 進程,這個終端成爲 shell 進程的控制終端,進程中,控制終端是保存在 PCB 中的

原创 【Linux】好用的數據處理工具 awk

awk是一個非常棒的數字處理工具。相比於sed常常作用於一整行的處理,awk則比較傾向於將一行分爲數個“字段”來處理。運行效率高,而且代碼簡單,對格

原创 【Linux】IPC主題一 -------- 管道

一、IPC簡介             Linux 環境下,進程地址控件相互獨立,每個進程各自有不同的用戶地址空間。任何一個進程的全局變量在另一個進程中都看不到,所以進程和進程之間不能相互訪問,要交換數據必須通過內核,在內核中開闢一塊緩衝