程序建立 在程序中啟動程式 等待程序結束

2021-10-10 10:16:16 字數 1598 閱讀 3700

程序建立

在程序中啟動程式

等待程序結束

程序是乙個正在執行的程式的例項,由一下元素組成

程序最重要的屬性是程序號(pid),以及父程序號(ppid),乙個程序有唯一的程序號,如果乙個程序建立了乙個子程序,那麼它的程序號就是子程序的父程序號。

1號程序(init) :負責引導系統、啟動守護程序以及執行其他必要程式

getpid()

;//取得當前程序的程序號

getppid()

;//取得當前程序的父程序號

#include

pid_t fork()

;

如果fork執行成功,就向父程序返回子程序的pid,並向子程序返回0。

fork建立的子程序是父程序的副本,二者的pid、gid、環境、資源、檔案、共享的記憶體段等完全相同,但是pid和ppid不同。

子程序與父程序之間的執行順序是無序的,非同步的。不應該存在相互依賴的**。

如果父程序先執行結束,那麼子程序的父程序將變為守護程序。

fork,用來建立乙個新的程序,此程序是當前程序的乙個拷貝。

exec,可以在程序中用另外的程式來替換掉當前程序執行的程式。

#include

intexecl

(const

char

* path,

const

char

*arg,..

.);int

execlp

(const

char

* file,

const

char

*arg,..

.);int

execle

(const

char

* path,

const

char

*arg,

char

*const envp)

;int

execv

(const

char

* path,

char

*const ar**)

;int

execvp

(const

char

* file,

char

*const ar**)

;int

execve

(const

char

* path,

char

*const ar**,

char

*const envp)

;

pid_t waitpid

(pid_t pid,

int* status,

int options)

;

暫時停止目前程序的執行,直到訊號來到或子程序結束,並收集子程序的資源。如果在呼叫waitpid時子程序已經結束,則waitpid會立即返回子程序結束狀態值status。如果執行成功則返回子程序號pid,如果有錯誤發生則返回-1.

程序建立,程序等待,程序終止

1 程序建立,2 程序等待,3 程序終止 程序建立被定義為通過父程序建立子程序的過程。fork函式 函式原型 pid t fork void 特點 1.fork函式呼叫一次,返回兩次兩次返回值得區別分別是子程序當中的返回值為0,父程序當中的返回值為新建子程序的id 將id返回給父程序的原因是沒有函式...

程序控制 程序建立 程序終止 程序等待 程式替換

程序建立 fork vfork vfork 的子程序不能在main函式中return退出 fork 和 vfork clone 同樣可以建立程序或者執行緒,它的引數更多,功能更強大 在核心中都是呼叫 do fork 實現程序的建立,只是引數不同 fork 要建立 pcb,虛擬位址空間,頁表 程序終止...

建立程序並等待程序退出

cereatepross.cpp 定義控制台應用程式的入口點。include stdafx.h include include include include include using namespace std bool findandkillprocessbyname lpctstr strp...