Time of Update: 2018-12-04
一. 字元裝置結構體struct cdev {struct kobject kobj;//kobject對象struct module *owner;//模組所有者const struct file_operations *ops;//檔案操作函數集struct list_head list;//鏈表頭dev_t dev;//裝置號unsigned int count;//引用次數};二. 分配字元裝置結構體struct cdev *cdev_alloc(void){struct cdev
Time of Update: 2018-12-04
買了個1T的硬碟,因為要和WINDOWS交換,所以只能用NTFS格式。 安裝hal和dbus就不說了。一、安裝軟體# emerge ntfs-3g二、配置,並編譯核心# cd /usr/src/linux# make menuconfig勾選 File systems ---> <M> Filesystem in Userspace support# make clean && make && modules_install三、載入核心模組#
Time of Update: 2018-12-04
這2天需要在2台linux上互傳檔案,用到scp發現得一直開著shell不然就停了傳個大檔案累死了還不能斷網於是找了找前台在啟動並執行程式轉到背景方法先是這個http://www.cnblogs.com/xd502djj/archive/2009/06/25/1510966.html需要用ssh-keygen建立2個機器之間信任認證oh太麻煩了,果斷捨棄=_=有找了個方法http://trace.javaeye.com/blog/255726先stop進程然後用bg把進程轉到後台好像這個簡單點了
Time of Update: 2018-12-04
一 叢集和Linux上的叢集解決方案 叢集系統(Cluster)主要解決下面幾個問題: 高可靠性(HA) 利用叢集管理軟體,當主伺服器故障時,備份伺服器能夠自動接管主伺服器的工作,並及時切換過去,以實現對使用者的不間斷服務。 高效能運算(HP) 即充分利用叢集中的每一台電腦的資源,實現複雜運算的平行處理,通常用於科學計算領域,比如基因分析,化學分析等。 Server Load Balancer 即把負載壓力根據某種演算法合理分配到叢集中的每一台電腦上,以減輕主伺服器的壓力,
Time of Update: 2018-12-04
在 Linux 下安裝 JDK 關鍵字: 在 Linux 下安裝 JDK 進入安裝目錄#cd /home#cp jdk-1_5_0_02-linux-i586.rpm /usr/local#cd /usr/local給所有使用者添加可執行檔許可權#chmod +x
Time of Update: 2018-12-04
1、查看linux的版本號碼cat /proc/version - Linux的版本號碼 相當於 uname -r——查看linux的版本號碼2、如果使用 rpm 安裝的tomcat:輸入命令:rpm -q tomcat3、如果不是使用 rpm 安裝的tomcat:[isomap@isomap-beta bin]$ ./catalina.sh versionUsing CATALINA_BASE: /usr/local/tomcatUsing CATALINA_HOME: /usr/local/
Time of Update: 2018-12-04
這段時間受到很多人的來信。他們看了我很早以前寫的推崇 Linux 的文章,想知道如何“拋棄 Windows,學習 Linux”。天知道他們在哪裡找到那麼老的文章,真是好事不出門…… 我覺得我有責任消除我以前的文章對人的誤導,洗清我這個“Linux 狂熱分子”的惡名。我覺得我已經寫過一些澄清的文章了,可是怎麼還是有人來信問 Linux 的問題。也許因為感覺到“輿論壓力”,我把文章都刪了。簡言之,我想對那些覺得 Linux 永遠也學不會的“菜鳥”們說:1. Linux 和 Unix
Time of Update: 2018-12-04
#include <pthread.h>#include <stdio.h>#include <stdlib.h>pthread_mutex_t mutex = PTHREAD_MUTEX_INITIALIZER;/*初始化互斥鎖*/pthread_cond_t cond = PTHREAD_COND_INITIALIZER;/*初始化條件變數*/void *thread1(void *);void *thread2(void *);int i=1;int
Time of Update: 2018-12-04
《Linux裝置裝置驅動程式(第三版)》學習筆記之一: scull裝置的使用By:吳垠Date:2007-07-05Email:lazy.fox.wu#gmail.comHomepage:http://blog.csdn.net/wooinCopyright:該文章著作權由吳垠所有。可在非商業目的下任意傳播和複製。 對於商業目的下對本文的任何行為需經作者同意。 連絡方式:lazy.fox.wu#gmail.com1.寫在前面:a.在進行下面的工作之前請先閱讀我 的文章《在 Linux
Time of Update: 2018-12-04
linux下線程建立失敗問題寫個碰到的問題,記錄下自己的技術之路點滴pthread_detach(pthread_self())linux線程執行和windows不同,pthread有兩種狀態joinable狀態和unjoinable狀態,如果線程是joinable狀態,當線程函數自己返回退出時或pthread_exit時都不會釋放線程所佔用堆棧和線程描述符(總計8K多)。只有當你調用了pthread_join之後這些資源才會被釋放。若是unjoinable狀態的線程,這些資源線上程函數退出時或
Time of Update: 2018-12-04
用linux一段時間了,有時候想看看ls、cat、more等命令的原始碼,在下載的核心源碼中用cscope沒能找到,在網上搜尋了一下,將方 法總結如下:以搜尋ls命令源碼為例,先搜尋命令所在包,命令如下:lpj@lpj-linux:~$ which ls/bin/ls用命令搜尋該軟體所在包,代碼如下:lpj@lpj-linux:~$ dpkg -S /bin/lscoreutils:
Time of Update: 2018-12-04
Linux 拷貝檔案函數2007-12-17 10:561 /*2 * Copy a (real) file to another (real) file.3 * file can be a regular file or a simlink4 */5 int create_copy_file(const char *source, const char *target)6 {7 struct stat src_stat;89 if (lstat(source,
Time of Update: 2018-12-04
#include <stdlib.h>#include <stdio.h>#include <netdb.h>#include <sys/socket.h>#include <netinet/in.h>#include <arpa/inet.h>int main(int argc, char **argv){char *ptr,**pptr;struct hostent *hptr;char str[32];char
Time of Update: 2018-12-04
本文主要內容是介紹ODBC的簡單原理,以及如何在Linux/Unix下進行ODBC的安裝、配置與編程。ODBC原理 ODBC 是Open Database Connect 即開放資料庫互連的簡稱,它是由Microsoft 公司於1991 年提出的一個用於訪問資料庫的統一介面標準,是應用程式和資料庫系統之間的中介軟體。它通過使用相應應用平台上和所需資料庫對應的驅動程式與應用程式的互動來實現對資料庫的操作,避免了在應用程式中直接調用與資料庫相關的操作,從而提供了資料庫的獨立性。ODBC
Time of Update: 2018-12-04
對於判斷檔案是否存在,每個人有不同的方法!我通常採用兩種方法 : open 和 access ;這個倆個方法有相似之處,且有不同之處;下面為大家詳細說明他們的不同之處:open 是開啟,讀寫等操作檔案的一個函數,access就是一個判斷檔案許可權的函數。在linux下,由於檔案有不同的許可權,噹噹前使用者沒有對此檔案的讀許可權的時候,用來判斷檔案是否存在,顯然不合適。而access卻可以做到。open
Time of Update: 2018-12-04
【簡 介】懂得網路設定命令是一般技術人員必備的技術,經過一段時間的研究和學習,總結了一些常用的命令和樣本以便日後查閱. 懂得網路設定命令是一般技術人員必備的技術,經過一段時間的研究和學習,總結了一些常用的命令和樣本以便日後查閱. 傳統的在1--3點,ip進階路由命令在4--12點,兩者部分可以通用,並達到同樣的目的,但ip的功能更強大,可以實現更多的配置目的。 首先,先瞭解傳統的網路設定命令: 1. 使用ifconfig命令配置並查看網路介面情況 樣本1:
Time of Update: 2018-12-04
linux下:用socket發送資料前,可以先設定其屬性,指定逾時時間。逾時時間包括接收逾時時間和發送逾時時間,假設設定接收逾時時間為2秒,可以這樣:int time_out = 2000; // 2秒setsockopt(sockfd, SOL_SOCKET,SO_RCVTIMEO, (char
Time of Update: 2018-12-04
Select在Socket編程中還是比較重要的,可是對於初學Socket的人來說都不太愛用Select寫程式,他們只是習慣寫諸如connect、accept、recv或recvfrom這樣的阻塞程式(所謂阻塞方式block,顧名思義,就是進程或是線程執行到這些函數時必須等待某個事件的發生,如果事件沒有發生,進程或線程就被阻塞,函數不能立即返回)。可是使用Select就可以完成非阻塞(所謂非阻塞方式non-block,就是進程或線程執行此函數時不必非要等待事件的發生,一旦執行肯定返回,以傳回值的不
Time of Update: 2018-12-04
守護進程(Daemon)是運行在背景一種特殊進程。它獨立於控制終端並且周期性地執行某種任務或等待處理某些發生的事件。守護進程是一種很有用的進 程。Linux的大多數伺服器就是用守護進程實現的。比如,Internet伺服器inetd,Web伺服器httpd等。同時,守護進程完成許多系統任 務。比如,作業規划進程crond,列印進程lpd等。守護進程的編程本身並不複雜,複雜的是各種版本的Unix的實現機制不盡相同,造成不同Unix環境下守護進程的編程規則並不一致。這需要讀者注意,照搬
Time of Update: 2018-12-04
靜態庫 在linux環境中, 使用ar命令建立靜態庫檔案.如下是命令的選項: d -----從指定的靜態庫檔案中刪除檔案 m -----把檔案移動到指定的靜態庫檔案中 p -----把靜態庫檔案中指定的檔案輸出到標準輸出 q -----快速地把檔案追加到靜態庫檔案中 r -----把檔案插入到靜態庫檔案中 t -----顯示靜態庫檔案中檔案的列表 x ----