Linux C下程序操作例項

2021-07-11 19:59:34 字數 1085 閱讀 6089

/*ex5-14.c*/

#include

#include

#include

#define maxarg 10 //每條命令所能使用的最大引數個數

#define linsiz 80 //每條命令的字元快取陣列

#define cmdsiz 8 //一次提交的最多的命令個數

extern

char **environ;

char *quit="quit.quit";

char cmdbuf[cmdsiz][linsiz]; //二維陣列cmdbuf存放從標準輸入讀到的命令串

int cmdflag[cmdsiz]; //陣列cmdflag決定該命令以何種方式執行(0為前台,1為後台)

int main()

if(i=readcmd()) //readcmd作用是將使用者輸入的命令字串解碼到已定義的外部變數cmdbuf二維陣列中

docommand(i); //執行存放在cmdbuf中的命令

else

printf("read command failed, try again!!!\n");

}}readcmd() //將使用者從標準輸入提交的一行命令,按分號為界,分別存入命令緩衝區cmdbuf中

else

if(c=='&')

else

*p++=c;

}*p='\0'; //每次命令提交時,該陣列欄位被清為零

return(++i); //返回該次使用者提交的命令個數

}docommand(int i)

*arglp++=argsp;

while(c!=' '&&c!='\t'&&c!='\0')

*argsp++='\0';

}*arglp=(char *)0;

if(strcmp(argl[0], quit)==0)

if((pid=fork())==0)

else

}}

Linux C程式設計例項

這是本人曾經寫過的 linux c 語言的例項。其中每個例項都是本人編譯通過,並且執行測試過的,所有的都是乙個完整的例項,幾乎沒有錯誤。因為例項還比較齊全,所以分享給大家,希望對於剛開始學 linux c 語言而又苦於例項練習少 動手程式設計能力差的人有所幫助。注意 所有linux c 語言的博文沒...

Linux C程序 執行緒

1 程序間通訊 庫 在使用者空間是不可能實現程序通訊,可通過linux核心建立物件來通訊 pid t pid 程序號的型別定義 pid fork 建立程序 if pid 0 子程序 if pid 1 父程序 2 執行緒間通訊 庫 在使用者空間可以實現執行緒間通訊,通過全域性變數通訊 pthread ...

linux c 程序學習

1.fork 由於fork後的父程序與子程序的優先順序是一樣的,所以會存在父程序已經退出了而子程序還在執行,這時候的子程序就是孤兒程序,會被init程序收養,所以這時候getppid得到的1。int main exit 0 2.vfork 由vfork也是用來建立程序,但是子程序是共享父程序的位址空...