原创 smtp rfc 中文文檔

RFC821簡單郵件傳輸協議(SMTP) (RFC821 SIMPLE MAIL TRANSFER PROTOCOL) 目錄 1.介紹 2 2.SMTP模型 3 3.SMTP過程 4 3.1.MAIL 4 3.2.轉

原创 ubuntu 下mysql apache php安裝

安裝mysql: 安裝mysql 服務器端:sudo apt-get install mysql-server 安裝mysql客戶端:sudo ap

原创 進程間通信編程--管道

創建兩個管道,每個方向一個。步驟如下: 1.創建管道1(fd1[0]和fd1[1])和管道2(fd2[0]和fd2[1]); 2.fork; 3.父進程關閉管道1的讀出端(fd[0]) 4.父進程關閉管道2的寫入端(fd2[1]) 5

原创 linux 程序設計 System V 信號量編程

概念: 二值信號量:信號量的值爲 0 或爲 1。與互斥鎖類似。 計數信號量:其值在 0 和某個限制值之間的信號量。信號量的值就是可用資源數。 等待操作:信號量的值變爲大於 0,然後將它減 1。 掛出操作:將信號量的值加 1,從而喚醒正在等

原创 TCP 連接的建立和終止

tcp連接的三路握手 1.服務器通過調用socket,bind和listen三個函數準備接受外來連接,稱爲被動打開。 2.客戶通過調用connect發起主動打開,導致客戶tcp發送一個SYN同步分節,告訴服務器將在連接中發送的數據的初始

原创 how to access virtual machine image

from:http://blog.vmsplice.net/2011/02/how-to-access-virtual-machine-image.html I am going to explain h

原创 互斥鎖,條件變量和信號量的區別

1.互斥鎖必須總是由給它上鎖的線程解鎖。信號量則沒有這種限制。 2.信號量有一個與之關聯的值,由掛出操作加1,由等待操作減1。 3.能夠從信號處理程序中安全調用的唯一函數是sem_post。

原创 epoll使用詳解(精髓)

epoll - I/O event notification facility 在linux的網絡編程中,很長的時間都在使用select來做事件觸發。在linux新的內核中,有了一種替換它的機制,就是ep

原创 Linux下C線程池的實現

一個Linux下C線程池的實現       什麼時候需要創建線程池呢?簡單的說,如果一個應用需要頻繁的創建和銷燬線程,而任務執行的時間又非常短,這樣線程創建和銷燬的帶來的開銷就不容忽視,這時也是線程池該出場的機會了。如果線程創建和銷燬時間

原创 linux 進程管理---進程環境和屬性總結

1.進程資源: 進程:系統下用戶管理事物的基本單元,每個進程有自己獨立的運行空間。 管理每個進程的資源的結構體:struct task_struct(定義在內核頭文件include/linux/sched.h) 結構體task_struc

原创 主機字節序

小端序:將低序字節存儲在起始地址(intel 處理器採用小端序)。 大端序:將高序字節存儲在起始地址。 確定主機字節序的程序: #include<stdio.h> #include<stdlib.h> #include<unistd.h

原创 字節操縱函數

#include<strings.h> void bzero(void *dest,size_t nbytes); void bcopy(const void *src,void *dest,size_t nbytes); int bcm

原创 棧和堆的區別

棧是由編譯器在程序運行是分配空間區域,由操作系統維護。裏面的變量通常是局部變量,函數參數等。 堆是由malloc函數分配的內存快,內存釋放由程序員手動控制。 主要區別: 1.管理方式不同:         程序在運行時棧由操作系統自動管理

原创 wget命令用法詳解

wget是在Linux下開發的開放源代碼的軟件,作者是Hrvoje Niksic,後來被移植到包括Windows在內的各個平臺上。它有以下功能和特點: (1)支持斷點下傳功能;這一點,也是網絡螞蟻和FlashGet當年最大的賣點,現在

原创 Requires installation of untrusted packages 解決方案

sudo apt-get clean cd /var/lib/apt sudo mv lists lists.old sudo mkdir -p lists/partial sudo apt-get clean sudo apt-get