程序建立 終止及控制代碼表

2021-08-15 22:44:30 字數 2552 閱讀 9214

#include #include //使用多字符集

#if 0

筆記:bool createprocess(

lptstr lpcommandline, // command line string

lpsecurity_attributes lpprocessattributes, // sd

lpsecurity_attributes lpthreadattributes, // sd

bool binherithandles, // handle inheritance option

dword dwcreationflags, // creation flags

lpvoid lpenvironment, // new environment block

lpctstr lpcurrentdirectory, // current directory name

lpstartupinfo lpstartupinfo, // startup information

lpprocess_information lpprocessinformation // process information

);備註:

//createprocess的第3、4個引數為結構體,控制子程序,是否能繼承主程序控制代碼表中儲存的,其它子程序的程序控制代碼或執行緒控制代碼

//建立程序時,會產生乙個程序核心物件和執行緒的核心物件,程序和執行緒也是核心物件

//例如,主程序a建立了1、2子程序, 1、2的程序控制代碼和執行緒控制代碼,就儲存在主程序a的核心物件控制代碼表中

關於控制代碼和id

1、都是系統分配的乙個編號,控制代碼是客戶程式使用 id主要是系統排程時使用.

2、呼叫closehandle關閉程序或者執行緒控制代碼的時候,只是讓核心計數器減少乙個,並不是終止程序或者執行緒.

程序或執行緒將繼續執行,直到它自己終止執行。

3、程序id與執行緒id 是不可能相同。但不要通過程序或者執行緒的id來操作程序或者執行緒,因為,這個編號是會

重複使用的,也就是說,當你通過id = 100這個編號去訪問乙個程序的時候,它已經結束了,而且系統將這個編號

賦給了另外乙個程序或者執行緒.

#endif

; process_information pi;

si.cb = sizeof(si);//一般情況,只要為第乙個成員賦值就可以了,指定結構體大小

bool res = createprocess(

null,

null,

null,

false,

create_new_console,

null,

null, &si, &pi);

}void testcreateprocessbycmdline()

; process_information pi;

si.cb = sizeof(si);

tchar szcmdline = text("c://program files//internet explorer ");

bool res = createprocess(

null,

szcmdline,

null,

null,

false,

create_new_console,

null,

null, &si, &pi);

}void testcreateprocess()

; process_information pi;

si.cb = sizeof(si);

tchar szcmdline = text(" ");

bool res = createprocess(

text("c://program files//internet explorer"),//可以是常量

szcmdline, //但命令列常用於傳遞一些引數,例如開啟子程序時,傳遞控制代碼過去

null,

null,

false,

create_new_console,

null,

null, &si, &pi);

}

Linux 程序建立 程序終止

程序終止 fork 在linux中fork函式時非常重要的函式,它從已存在程序中建立乙個新程序。新程序為子程序,而原程序為父程序。include pid t fork void 返回值 自程序中返回0,父程序返回子程序id,出錯返回 1子程序複製父程序的pcb,因此複製了父程序的程式計數器,所以和父...

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

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

程序建立,終止,等待

今天我們來說一說程序的建立,終止,等待。1 程序的建立 建立乙個程序我們用到的函式是fork函式,它從已存在的程序中建立乙個新的程序,新程序為子程序,而原程序為父程序。fork函式 include pid t fork void 子程序返回0,父程序返回子程序的id,出錯返回 1。值得注意的是,父程...