原创 I/O多路轉接之poll,epoll

1、poll函數原型:#include <poll.h>int poll(struct pollfd fds[], nfds_t nfds, int timeout);參數說明:fds:是一個struct pollfd結構類型的數組,用於存

原创 python---定位元素

1.定位元素:以百度輸入框和搜索爲例子 (1)id定位 :id屬性在html文檔中是唯一的find_element_by_id()方法通過id屬性定位元素(2)name定位find_element_by_name()方法(3)class定位

原创 進程間的關係

進程組    進程組是一個或多個進程的集合。每個進程除了有一個進程ID之外,還屬於一個進程組。每個進程組有一個唯一的進程組ID。每一個進程組都可以有一個組長進程。(一般來說,第一個進程爲組長進程)組長進程的標識是,其進程組ID等於其進程的I

原创 mmap函數實現共享內存

   mmap將一個文件或者其他對象映射進內存。mmap也可以實現共享內存。mmap函數調用使得進程之間通過映射同一個文件實現共享內存。文件被映射到進程地址空間後,進程可以像讀寫內存一樣對文件進行操作。  函數原型:void* mmap(v

原创 python基礎知識---簡單語法

1.if語句 >> a = 10>> b = 20>> if(a>b):print("a max!")else:print("b max!") b max! >> student = "zhangxiaoyu">> if (stude

原创 TCP協議

TCP段格式:主要介紹下U6個標誌位:URG(緊急位):緊急指針是一個正的偏移量,和序號字段中的值相加表示緊急數據最後一個字節的序號。TCP的緊急方式是發送端向另一端發送緊急數據的一種方式。緊急指針指向包含數據段的某個字節(數據從第一字節到

原创 IP數據報格式,路由表

IP數據報格式MTU最大傳輸單元:數據幀中的有效載荷的最大長度,不包括首部的長度,若大於MTU,則需要分片,分片是由IP層完成的。組裝也是由IP層自行完成。在IP分組頭中,與分組的分片與組長有關的字段有:16位標識,3位標誌,13位片位移1

原创 死鎖

死鎖的定義在一組進程發生死鎖的情況下,這組死鎖進程中的每一個進程,都在等待另一個死鎖進程所佔有的資源。或者說每一個進程所等待的事件是該組進程釋放所有佔有的資源。但由於所有的這些進程都已無法運行,因此誰也不能釋放資源,致使沒有任何一個進程可被

原创 信號(signal)

   所謂信號,就簡單場景來說,啓動一個前臺進程,用戶按下Ctrl_C可將進程終止。   在這呢,簡單說說後臺進程能否用Ctrl_C終止?   一個命令後面加個&便可在後臺執行。這樣Shell不必等待進程結束就可以新的命令,啓動新的進程。S

原创 TCP四次揮手時TIME_WAIT狀態以及端口號的分類

TIME_WAIT(時間等待計時器)狀態是什麼?簡單來說,TIME_WAIT狀態是四次揮手中服務器向客戶端發送FIN終止連接後進入的狀態。四次揮手的過程:可以看到TIME_WAIT狀態存在於客戶端收到服務器FIN並返回ACK時的狀態。   

原创 進程間通信---共享內存

什麼是共享內存?    共享內存就是允許兩個不相關的進程訪問同一塊物理內存。進程可將同一段共享內存連接到它們自己的地址空間中,所有進程都可以訪問共享內存中的地址。如果某一個進程向共享內存中寫入數據,所做的改動將立即影響到可以訪問同一段共享內

原创 程序分析(棧幀問題)

如下程序,在主函數中並未調用,但爲何會重啓?在主函數中,調用了fun1的函數,而在fun1函數中,p--後,將棧幀上p地址上的內容修改成了fun的地址,因此,程序運行到fun函數中。2. 修改棧幀上變量的內容 (不通過變量名)   測試結果

原创 進程間通信---消息隊列

    什麼是消息隊列?    消息隊列提供了一種從進程向另一個進程發送一個數據塊的方法。每個數據塊都被認爲是有一個類型,接收者進程的數據塊可以有不同的類型值。    消息隊列與管道的區別:消息隊列是基於消息的,而管道是基於字節流的,且消息

原创 小程序分析(fork()和vfork())

分析下述程序,i<4時,最終創建了多少個進程。fork()是創建一個子進程。 分析:i=0時,父進程1創建了一個子進程1。(此時共2個進程)       i=1時,父進程1繼續創建子進程2,將子進程1又當成父進程,創建子進程3。(此時共6個

原创 進程間的通信---信號量(semget,semctl,semop)

   信號量的本質是一種數據操作鎖,它本身不具有數據交換的功能,而是通過控制其他的通信資源(文件,外部設備)來實現進程間通信,它本身只是一種外部資源的標識。信號量就是一個計數器。   當請求一個使用信號量來表示的資源時,進程需要先讀取信號量