Time of Update: 2018-12-04
Linux中查看socket狀態:cat /proc/net/sockstat #(這個是ipv4的)sockets: used 137 TCP: inuse 49 orphan 0 tw 3272 alloc 52 mem 46UDP: inuse 1 mem 0RAW: inuse 0 FRAG: inuse 0 memory 0說明:sockets: used:已使用的所有協議通訊端總量TCP: inuse:正在使用(正在偵聽)的TCP通訊端數量。其值≤ netstat –lnt |
Time of Update: 2018-12-04
這個故事中使用的是2.6.10的核心代碼.Linux核心代碼目錄中, 所有去裝置驅動程式有關的代碼都在drivers/目錄下面,在這個目錄中我們用ls命令可以看到很多子目錄.localhost:/usr/src/linux-2.6.10/drivers # lsKconfig atm cdrom eisa ide macintosh message net parport s390 tc w1Makefile
Time of Update: 2018-12-04
0.0 - 引言 -- 我怎樣用這個FAQ 這個文檔分為了幾個部分.首先,第0節和第1節介紹了什麼是vi;第2節則收錄了很多新 學者的問題,一些對vi沒有很多經驗的人也經常問這些問題.這裡麵包括諸如“命令模式和插入 模式之間的區別”,以及“我怎樣拷貝和粘貼”之類的問題.第3節是面向vi的中級使用者的,它從 問題“我如何尋找和替換”開始,逐步深入,直到對vi裡面的宏(Macro)的用法討論為止.第3
Time of Update: 2018-12-04
編譯核心確實是個讓人窒息和苦悶的過程,經過幾天的努力,今天終於順利通過。感謝好友“編程夜未眠”的支援人員我是在Vmware下裝的Red Hat 9,下載了linux的核心版本2.6.14.4(1)解壓至/usr/src目錄下,注意必須得在linux中解壓(2)進入解壓後的目錄,$make menuconfig(基於X11的圖形核心組態工具)。注意,在Vmware下以下選項必須選上,否則編譯要出問題: Device Drivers --->SCSI device
Time of Update: 2018-12-04
linux終端與vi中文設定#uname -aLinux localhost.localdomain 2.6.9-42.ELsmp #1 SMP Sat Aug 12 09:39:11 CDT 2006 i686 i686 i386 GNU/Linux 1. 控制台終端顯示中文修改 /etc/sysconfig/i18n
Time of Update: 2018-12-04
我們經常會碰到這樣的問題,用 telnet/ssh 登入了遠端 Linux 伺服器,運行了一些耗時較長的任務, 結果卻由於網路的不穩定導致任務中途失敗。如何讓命令提交後不受本地關閉終端視窗/網路中斷連線的幹擾呢?下面舉了一些例子, 您可以針對不同的情境選擇不同的方式來處理這個問題。nohup/setsid/&情境:如果只是臨時有一個命令需要長時間運行,什麼方法能最簡便的保證它在後台穩定運行呢?hangup 名稱的來由在 Unix 的早期版本中,每個終端都會通過 modem 和系統通訊。
Time of Update: 2018-12-04
車上的乘客大家請注意,下一站車上將上來幾個小偷,大家一定要看管好自己的錢包和隨身攜帶的物品.——東北某報記者在葫蘆島聽到公用汽車售票員這樣提示.此刻,我也需要預先提示你,關於uhci,我們如果想結束,現在就可以結束,如果不想,那麼繼續往前走一點也未嘗不可.繼續走的話我們會關注電源管理的部分,就如同我們在hub驅動中關注的一樣.由於這部分代碼頗為抽象,我們於是利用kdb,並且以做實驗的方法來解讀這些代碼.如果你對電源管理不感興趣,那麼你可以就此留步.這個世界,文思三千,不如胸脯四兩,北大人大,不如
Time of Update: 2018-12-04
struct bus_type中為devices和drivers準備了兩個鏈表,而代表device的結構體struct device中又有兩個成員,struct bus_type *bus和struct device_driver *driver,同樣,代表driver的結構體struct device_driver同樣有兩個成員,struct bus_type *bus和struct list_head devices,struct device和struct
Time of Update: 2018-12-04
老夫子們痛心疾首的總結說,現代青年的寫照是——自負太高,反對太多,商議太久,行動太遲,後悔太早。上天戲弄,俺不幸的混進了80後的革命隊伍裡,成了一名現代青年,前有老夫子的憂心忡忡,後有90後的輕蔑嘲弄,終日在迷失與老土這樣的兩極詞彙裡徘徊。為了說明俺也是有主義有信仰的,也是經曆過樓市股市狂風暴雨考驗的,這裡就講講PCI,而且不再做過多的羅唆鋪墊,直接開門見山,讓他們看看80後不僅僅知道什麼是網戀什麼是異性同居,知道怎麼靠上半身上位怎麼用下半身寫作,還知道什麼叫PCI,什麼叫雷厲風行。Linux裡
Time of Update: 2018-12-04
好不容易結束了sd_spinup_disk(),馬上我們就遇到了三座大山.它們是sd_read_capacity(),sd_read_write_protect_flag(),sd_read_cache_type(),要繼續往下看,我們不得不先推翻這三座大山.舊的三座大山已經在毛主席的英明領導下成功推翻了,但是今天我們的人民卻身處新三座大山的壓迫之下,眼前這三個函數堪比臭名昭著的房改醫改教改.要知道整個sd.c這個檔案也不過是1900行,可是光這三個函數就佔了360行,你不服不行啊!第一座大山,
Time of Update: 2018-12-04
probe,disconnect,id_table,這三個咚咚中首先要登場亮相的是id_table,它是幹嘛用的呢?我們說過,一個device只能綁定一個driver,但driver並非只能支援一種裝置,道理很簡單,比如我有兩塊隨身碟,那麼我可以一起都插入,但是我只需要載入一個模組,usb-storage,沒聽說過插入兩塊隨身碟就得載入兩次驅動程式的,除非這兩塊隨身碟本身就得使用不同的驅動程式.也正是因為一個模組可以被多個裝置共用,才會有模組計數這麼一個說法.ok,既然一個driver可以支援多
Time of Update: 2018-12-04
ARM Linux Boot SequenceThe following traces the Linux boot sequence for ARM-based systems in the 2.6.18 kernel. It looks at just the earliest stages of the boot process, until the generic non-processor-specific start_kernel function is called. The
Time of Update: 2018-12-04
static __always_inline void *__memcpy(void *to, const void *from, size_t n){int d0, d1, d2;asm volatile("rep ; movsl\n\t" "movl %4,%%ecx\n\t" "andl $3,%%ecx\n\t" "jz 1f\n\t" "rep ; movsb\n\t" "1:" : "=&c" (d0), "=&D" (
Time of Update: 2018-12-04
win7 和 linux雙系統的安裝可以參考這裡: http://blog.csdn.net/cidisk/article/details/86937731 為外接顯示器新增解析度. 外接的顯示器沒有識別,顯示的解析度太小。$ xrandr Screen 0: minimum 320 x 200, current 1280 x 1024, maximum 4096 x 4096 LVDS1 connected (normal left inverted right x axis y
Time of Update: 2018-12-04
用戶端代碼client.cpp #include <stdlib.h>#include <sys/types.h>#include <netinet/in.h>#include <sys/socket.h>#include <arpa/inet.h>#include <unistd.h>#include <stdio.h>int main() {//建立一個socketint sock_fd =
Time of Update: 2018-12-04
在主程式中可以使用動態連結程式庫中的全域變數是正確的,不可否認的,但這需要在程式編譯連結時就要把動態庫加上,並在需要使用的程式中使用extern聲明變數,這其實沒有達到動態庫的本質目的(使用時再調用);這其實不算是一個大問題,如果只在一個進程中使用也不會有問題,這裡主要討論在多進程中使用動態庫全域變數的問題。如果想在進程間依靠動態庫來共用全域變數恐怕是不太可能的事情,因為不同進程訪問動態庫時,是寫時拷貝,即如果另外一個進程試圖去修改動態庫中的全域變數時,系統就會把這個全域變數拷貝一份單獨給這個進
Time of Update: 2018-12-04
此函數是獲得directory中的basename, 比如basename(“android/system/core"),返回的是"core" 37 basename(const char* path) 38 { 39 static char* bname = NULL; 40 int ret; 41 42 if (bname == NULL) { 43 bname = (char *)malloc(MAXPATHLEN);
Time of Update: 2018-12-04
Linux核心定義了list_head資料結構,欄位next和prev分別表示通用雙向鏈表向前和向後的指標元素。LIST——HEAD(list_name):建立新鏈表list_add(n,p):把n指向的元素插入p指向的特定元素之後list_add_tail(n,p),把n指向的元素插入到p指向的特定元素之前list_del(p):刪除p指向的元素list——empty(p) 檢查由第一個元素的地址p所指向的鏈表是否為空白
Time of Update: 2018-12-04
進程描述符中的state欄位描述了進程當前所處的狀態,它有一組標誌組成,每個標誌描述一種可能的進程狀態,這些狀態是互斥的,也就是說在同一時刻,只能設定一個狀態 一、運行狀態:TASK_RUNNING,進程要麼在CPU上運行,要麼準備執行二、可中斷的等待狀態:TASK_INTERRUPTIBLE,進程被掛起,直到收到某個訊息,喚醒該進程三、不可中斷的等待狀態:TASK_UNINTERRUPTIBLE
Time of Update: 2018-12-04
GNU的screen工具是一個很好的工具.如果需要經常或者大量的登入伺服器進行操作,screen或許還是一個不可或缺的好工具.本文主要想探討的主要問題是screen的配置指令碼中如何自由定製狀態列的內容.也即hardstatus的內容定製.本文所討論的問題,對於screen工具的使用來說,基本沒有什麼指導作用,甚至可以認為是一個很無聊的問題,所以如果你是想找如何入門使用screen的話,那麼,沒有必要繼續往下看了,可以參考網上很多同志的其他的介紹文檔.對於使用putty來串連伺服器的同志來說,一