Time of Update: 2018-12-05
#include <unistd.h> int getopt(int argc, char * const argv[], const char *optstring);extern char *optarg;extern int optind, opterr,
Time of Update: 2018-12-05
#ifdef __macos__ #include </usr/local/mysql/include/mysql.h>#endif#ifdef __linux__ #include </usr/include/mysql/mysql.h>#endif============================================================#ifdef __macos__ #include
Time of Update: 2018-12-05
與互斥鎖不同,條件變數是用來等待而不是用來上鎖的。條件變數用來自動阻塞一個線程,直到某特殊情況發生為止。通常條件變數和互斥鎖同時使用。條件變數使我們可以睡眠等待某種條件出現。條件變數是利用線程間共用的全域變數進行同步的一種機制,主要包括兩個動作:一個線程等待"條件變數的條件成立"而掛起;另一個線程使"條件成立"(給出條件成立訊號)。條件的檢測是在互斥鎖的保護下進行的。如果一個條件為假,一個線程自動阻塞,並釋放等待狀態改變的互斥鎖。如果另一個線程改變了條件,它發訊號給關聯的條件變數,喚醒一個或多個
Time of Update: 2018-12-05
1 > 線程和進程的差別線程機制支援並發程式設計技術,在多處理器上能真正保證平行處理。而在linux實現線程很特別,linux把所有的線程都當作線程實現。linux下線程看起來就像普通進程(只是該進程和其他進程共用資源,如地址空間)。上述機制與Microsoft
Time of Update: 2018-12-05
(加#的命令為必須在根使用者許可權下操作) 一、關機與重新啟動1)#init 0重啟 #init 6關機(改變系統運行層級的方法)2)#reboot重啟 #halt關機(命令法)3)#showdown -h +5 (5分鐘後關機) #showdown -r +5(5分鐘後重啟)二、常用目錄操作命令1)顯示檔案和目錄:ls -a -l2) 複製檔案或目錄:cp 源檔案 目的檔案3)移動檔案或目錄:mv 源檔案 目的檔案4)顯示檔案內容:cat 文字檔5)分頁顯示常值內容:more
Time of Update: 2018-12-05
今天在虛擬機器中用Linux時候發現忘記root密碼了,於是在網上找相關資訊,雖然東西很多,但是都不知道怎麼進入系統。因為虛擬機器進入時候根本沒有機會讓我選擇,後來猜想估計是虛擬機器的反應不及時,導致停留的選項看不到,於是重啟虛擬機器,不停地按↓鍵,終於進入了選擇菜單。1圖1以下為網上的操作,紅色括弧中是我更改的。1. 重啟電腦. (我的實際操作是重啟同時不停地按↓鍵)2. 當grub開始載入時, 按下"Esc"鍵, 這時會出現作業系統的選擇菜單. (實際操作啥都沒做)3.
Time of Update: 2018-12-05
高端記憶體是指物理地址大於 896M 的記憶體。對於這樣的記憶體,無法在“核心直接映射空間”進行映射。為什嗎?因為“核心直接映射空間”最多隻能從 3G 到 4G,只能直接映射 1G 實體記憶體,對於大於 1G 的實體記憶體,無能為力。實際上,“核心直接映射空間”也達不到 1G, 還得留點線性空間給“核心動態映射空間” 呢。因此,Linux 規定“核心直接映射空間” 最多映射 896M 實體記憶體。對 於高端記憶體,可以通過 alloc_page() 或者其它函數獲得對應的
Time of Update: 2018-12-05
修複引導:apt-get install grubgrubfind /boot/grub/stage1root(hd0,y)setup (hdo) 超級使用者切換,經常輸入正確密碼也切換不過去,改用此命令:sudo -s 安裝deb,rpm軟體:dpkg -i ^.deb dpkg -r(p) ^.deb 或者直接安裝個Gdeb軟體,apt-get install gdebrpm -i ^.rpm rpm -e ^.rpm
Time of Update: 2018-12-05
à背景知識介紹 1 互斥量 互斥量函數有 pthread_mutex_init 初始化一個互斥量 pthread_mutex_lock 給一個互斥量加鎖 pthread_mutex_trylock 加鎖,如果失敗不阻塞 pthread_mutex_unlock 解鎖互斥量從本質上說是一把鎖,在訪問共用資源前對互斥量進行加鎖,在訪問完成後釋放互斥量上的鎖。對互斥量進行加鎖以後,任何其他試圖再次對互斥量加鎖的線程將會被阻塞直到當前線程釋放該互斥鎖。 2
Time of Update: 2018-12-05
#include <time.h> time_t time(time_t *calptr) 這是time函數基本架構 指標指向的一串數字達不到毫秒極的資訊。 然後使用以下兩個函數將其進行標準時間轉換 #include <time.h> struct tm *gmtime(const time_t *calptr) /*將其轉換為國際標準時間*/ struct tm *localtime(const
Time of Update: 2018-12-05
一、編譯和串連 一般來說,如果庫的標頭檔不在 /usr/include 目錄中,那麼在編譯的時候需要用 -I參數指定其路徑。由於同一個庫在不同系統上可能位於不同的目錄下,使用者安裝庫的時候也可以將庫安裝在不同的目錄下,所以即使使用同一個庫,由於庫的路徑的不同,造成了用 -I 參數指定的標頭檔的路徑也可能不同,其結果就是造成了編譯命令介面的不統一。如果使用 -L參數,也會造成串連介面的不統一。編譯和串連介面不統一會為庫的使用帶來麻煩。
Time of Update: 2018-12-05
維護Linux的ssh工具在使用中,一旦遇到網路中斷,則當前的shell就會自動關閉當前的工作進度就會丟失,這對於遠程升級等比較耗費時間的工作是非常不利的對於遠程調適代碼也是很不可靠不安全的為此,可以使用screen這個工具來解決這個問題。對於最小化的linux,通常screen是不包含在系統內的。需要尋找作業系統的安裝光碟片,例如對於AS4update4在其中的CD4.iso裡邊可找到screen-4.0.2-5.i386.rpm到伺服器上執行rpm -ivh
Time of Update: 2018-12-05
前面轉載了一篇文章關於core檔案的產生和調試使用的設定,但在使用有一些需要注意的問題,如 在什麼情況 才會正確地產生core檔案。 列出一些常見問題:一,如何使用core檔案1. 使用core檔案在core檔案所在目錄下鍵入:gdb -c core它會啟動GNU的調試器,來調試core檔案,並且會顯示產生此core檔案的程式名,中止此程式的訊號等等。如果你已經知道是由什麼程式產生此core檔案的,比如MyServer崩潰了產生core.12345,那麼用此指令調試:gdb -c
Time of Update: 2018-12-05
在分析LIVE555代碼時 偶獲:if (fIsFirstPacket) { // Record the fact that we're starting to play now: gettimeofday(&fNextSendTime, NULL);
Time of Update: 2018-12-05
http://blog.csdn.net/wangjiannuaa/article/details/6585136#include <stdio.h>#include <stdlib.h>#include <sys/time.h>#include <unistd.h>#include <sys/vfs.h>#include <error.h>#define Gsize (1024.00 * 1024.00 * 1024.00
Time of Update: 2018-12-05
一、對於休眠(suspend)的簡單介紹 在Linux中,休眠主要分三個主要的步驟: 1) 凍結使用者態進程和核心態任務 2) 調用註冊的裝置的suspend的回呼函數, 順序是按照註冊順序 3) 休眠核心裝置和使CPU進入休眠態, 凍結進程是核心把進程列表中所有的進程的狀態都設定為停止,並且儲存下所有進程的上下文. 當這些進程被解凍的時候,他們是不知道自己被凍結過的,只是簡單的繼續執行。 如何讓Linux進入休眠呢?使用者可以通過讀寫sys檔案/sys
Time of Update: 2018-12-05
文章目錄 HID inputHID devHID raw dev 最近研究藍芽的鍵盤滑鼠,所以粗略看了一下Linux的HID架構。HID 匯流排HID的匯流排在hid-core.c的hid-init中初始化:bus_register(&hid_bus_type);hid_bus_type的定義:static struct bus_type hid_bus_type = { .name =
Time of Update: 2018-12-05
作者介紹:Harald Welte is one of the five netfilter/iptables core team members, and is the current Linux 2.4.x firewalling maintainer. His main interest in computing has always been networking but in the little time left after netfilter/iptables related
Time of Update: 2018-12-05
標頭檔 #include <dlfcn.h> 載入動態庫void *dlopen(const char *filename, int flag);flag的可能值:l RTLD_LAZYl RTLD_NOWl RTLD_GLOBALl RTLD_LOCALl RTLD_NODELETE (since glibc 2.2)l RTLD_NOLOAD (since glibc 2.2)l
Time of Update: 2018-12-05
Linux中的字元裝置驅動中有一個函數unsigned int (*poll)(struct file * fp, struct poll_table_struct * table)此函數在系統調用select內部被使用,作用是把當前的檔案指標掛到裝置內部定義的等待隊列中。這裡的參數table可以不考慮,是在select函數實現過程中的一個內部變數。函數具體實現時: wait_queue_head_t t = ((struct mydev *)filp->private_data)