程序執行緒程式設計(一)

2021-09-11 02:26:05 字數 2494 閱讀 6861

(1)getpid和getppid函式可獲得當前程序的pid和ppid,呼叫方式如下:

#include

#include

#include

intmain()

(2)利用fork()函式建立子程序,該子程序為父程序的乙個複製品,呼叫方式如下:

#include

#include

#include

#include

intmain

(void

)else

if(result ==0)

else

}

(3)利用execle()函式使用檔名的方式查詢可執行檔案,呼叫方式如下:

#include

#include

#include

intmain()

}

(4)用來終止程序的exit()函式和_exit()函式

exit()函式:

#include

#include

intmain()

_exit()函式:

#include

#include

intmain()

(5)使父程序阻塞的waitpid()函式

#include

#include

#include

#include

#include

intmain()

else

}while

(pr ==0)

;if(pr == pc)

else

printf

("some error occured.\n");

}}

(6)建立守護程序例項

#include

#include

#include

#include

#include

#include

#include

#define maxfile 65535

intmain()

else

if(pc>0)

exit(0

);setsid()

;chdir

("/");

umash(0

);for(i=

0;i)while(1

)write

(fd,buf,len+1)

;close

(fd)

;sleep(10

);}}

(1)編寫多程序程式

該實驗有3個程序,其中乙個為父程序,其餘為子程序,其中乙個子程序執行「ls -l"命令,另乙個子程序在暫停5s後退出

/*exc.c*/

#include

#include

#include

#include

#include

intmain

(void

)else

if(child1 ==0)

if(child2 ==-1

)else

if(child2 ==0)

else

}while

(child1 ==0)

;if(child1 == child2)

printf

("get child2\n");

else

printf

("error occured!\n");

}}

(2)編寫守護程序

在該實驗中,讀者首先建立起乙個守護程序,然後再新建乙個子程序,子程序暫停10s後,自動退出。

/*exc2.c*/

#include

#include

#include

#include

#include

#include

#define maxfile 65535

intmain

(void

)else

if(child1 >0)

exit(0

);openlog

("exc2_info"

,log_pid, log_daemon)

;setsid()

;chdir

("/");

umask(0

);for(i =

0; i < maxfile; i++

) child2 =

fork()

;if(child2 ==-1

)else

if(child2 ==0)

else

}}

併發程式設計 程序與執行緒

程序即正在執行的乙個過程。程序是對正在執行程式的乙個抽象。程序的概念起源於作業系統,是作業系統最核心的概念,也是作業系統提供的最古老也是最重要的抽象概念之一。作業系統的其他所有內容都是圍繞程序的概念展開的。ps 即使可以利用的cpu只有乙個 早期的計算機確實如此 也能保證支援 偽 併發的能力。將乙個...

一 程序執行緒

1.程序的3種狀態 執行 阻塞 就緒 其中不存在的狀態轉換 阻塞 執行 就緒 阻塞 2.作業系統用於維護程序記錄的結構 程序表或程序控制權 pcb 3.程式使用cpu的3種方式 cpu導向 io導向 平衡型程式 4.程序排程目標 極小化平均時間 級大化系統吞吐量 保持系統各個功能部分均處於繁忙狀態和...

程序與執行緒 一

一 建立程序 在linux系統中,只有fork 系統呼叫能夠建立程序。呼叫fork 函式之後,父程序將暫存器和堆疊內的內容全部賦值給子程序的暫存器和堆疊。fork test.c version 1 created on 2015 5 18 author wangth include include ...