#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。值得注意的是,父程...