1. 程式人生 > >linux 學習筆記2

linux 學習筆記2

程式和程序

1.程式

程式:儲存在磁碟上某個目錄上的可執行檔案。

2.程序和程序ID

程式的執行例項被稱為程序(windows 叫做任務),每個程序都有一個程序ID

列印程序ID

#include "apue.h"
int main(void)
{
    pritnf("hello world from process ID %ld\n",(long)getpid());
    return 0;
}

3.程序控制

介紹3個主要函式fork、exec和waitpid

#include"apue.h"
#include <sys/wait.h>
int main(void) { char buf[MAXLINE]; pid_t pid; int status; printf("%%"); while(fgets(buf,MAXLINE,stdin)!=NULL) { if(buf[strlen(buf) - 1] == '\n' ) buf[strlen(buf)-1]=0;//execlp()函式要求引數是以NULL結尾的 if((pid=fork())<0) err_sys("fork error"); else if(pid==0) { execlp(buf,buf,(char*)0); err_ret("Counldn't execute : %s"
,buf); exit(127); } if((pid=waitpid(pid,&status,0))<0) err_sys("waitpid error"); printf("%% "); } return 0; }

呼叫fork建立一個程序,新程序是呼叫程序的副本,稱呼叫程序為父程序,新建立的程序 為子程序。fork對父程序返回一個新的程序ID,對子程序返回0