程序建立
在程序中啟動程式
等待程序結束
程序是乙個正在執行的程式的例項,由一下元素組成
程序最重要的屬性是程序號(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...