愛悠閑 > 分類 >

linux 第3頁

Linux代碼風格
(1)對于結構體、if/for/while/switch語句,“{”不另起一行,例如: struct var_data { ??? int len; ??? char data[10]; }; (2)如果if、for循環只有1行,不要加“{”和“}”,如: for (i = 0; i < 10; i++) ??? a = c; (3)if和else混用的情況下,else語句不另起一行,如: if
linux --dup dup2 文件描述符重定向函數--輸入輸出重定向
#include <sys/stat.h> #include <string.h> #include <fcntl.h> #include <io.h> int main(void) { #define STDOUT 1 //標準輸出文件描述符 號 int nul, oldstdout; char msg[] = "This is a test"; /* create a file */ //打開
unix/linux中的dup()系統調用 --對上篇dup() dup2()例子的解釋
在linux紛繁復雜的內核代碼中,sys_dup()的代碼也許稱得上是最簡單的之一了,但是就是這么一個簡單的系統調用,卻成就了unix/linux系統最著名的一個特性:輸入/輸出重定向 sys_dup()的主要工作就是用來“復制”一個打開的文件號,使兩個文件號都指向同一個文件。既然說簡單,我們就首先來看一下它的代碼(定義在fs/fcntl.c中): 187 asmlinkage long sys_
管道編程之pipe
pipe():創建一個新的匿名管道 例子中子進程必須等待父進程寫入管道之后才能讀。 thePipe[0]代表管道的輸出,應用程序讀它。 thePipe[1]代表管道的輸入,應用程序寫它。 #include <stdio.h> #include <unistd.h> #include <string.h> #include <wait.h> #define MAX_LINE 80 int mai
IPC機制---共享內存編程
#include <stdio.h> #include <sys/shm.h> #include <sys/sem.h> #include <string.h> #include <stdlib.h> #include <unistd.h> #include "common.h" #define MAX_STRING 5000 typedef struct { int semID;
Linux中時間函數的應用接口
#include <stdio.h> #include <time.h> int main() { time_t currentTime; struct tm *tm_time; currentTime = time(NULL); tm_time = localtime(¤tTime); printf("from localtime %02
ldd 的一個安全問題
我們知道“ldd”這個命令主要是被程序員或是管理員用來查看可執行文件所依賴的動態鏈接庫的。是的,這就是這個命令的用處。可是,這個命令比你想像的要危險得多,也許很多黑客通過ldd的安全問題來攻擊你的服務器。其實,ldd的安全問題存在很長的時間了,但居然沒有被官方文檔所記錄來下,這聽上去更加難以理解了。怎么?是不是聽起來有點不可思議?下面,讓我為你細細道來。 首先,我們先來了解一下,我們怎么來使用ld
ima
1.__setup()宏簡介 內核組件用__setup宏來注冊關鍵字及相關聯的處理函數,__setup宏在include/linux/init.h中定義,其原型如下: #define __setup(str, fn) 其中:str是關鍵字,fn是關聯處理函數。__setup只是告訴內核在啟動時輸入串中含有str時,內核要去執行fn。Str必須以“=”符結束以使parse_args更方便解析。緊隨“
Linux中more命令的實現
#include <stdio.h> #include <stdlib.h> #include <string.h> #define PAGELEN 24 #define LINELEN 512 void do_more(FILE *); int see_more(FILE *); int main(int argc, char *argv[]) { FILE *fp; if
who命令的實現
#include <stdio.h> #include <stdlib.h> #include <utmp.h> #include <fcntl.h> #include <unistd.h> #include <time.h> void show_info(struct utmp *); void showtime(long); int main() { int fd;
快乐彩中奖说明