core--进程
前面我們說了線程是一系列的指令,那么進程是什么呢?進程就是裝下這些指令的容器。該容器除了線程,還包含資源等內容。一個進程至少要有一個線程。沒有線程的進程就不叫進程
“進程和程序的區別:進程必須是正在運行的實例,而程序通常指的是存儲在物理介質中的一個文件,程序運行后,就成了進程”
在windows中,進程有兩種:
1.控制臺應用程序。CMD程序就是典型的實例
2.GUI應用程序。
可以使用CreateProcess函數來創建進程
LPCTSTR lpApplicationName, 通常為NULL
??? 可執行文件的名稱
LPTSTR lpCommandLine,??
??? 一定要注意LPTSTR,該類型表示字符串可以被修改
??? 通常該值被指定為可執行文件的名稱,如果沒有擴展名,就會自動添加.exe然后按照如下順序來查找完整路徑名稱:
??????? 1.主調進程.exe文件所在的目錄
??????? 2.主調進程的當前目錄
??????? 3.windows系統目錄 System32
??????? 4.PATH環境變量中列出的目錄
LPSECURITY_ATTRIBUTES lpProcessAttributes
LPSECURITY_ATTRIBUTES lpThreadAttributes
BOOL bInheritHandles
???????? 是否允許進程內的可繼承內核對象被子進程繼承
?????? DWORD dwCreationFlagsLPVOID lpEnvironment
????????? 環境變量,通常設置NULL
?????? LPCTSTR lpCurrentDirectory
?????? LPSTARTUPINFO lpStartupInfo
?????? LPPROCESS_INFORMATION lpProcessInformation
?? );
正常情況下當主線程運行完畢,退出后進程就會被結束,但是windows為我們提供了一下方式來強制結束進程
ExitProcess
TerminateProcess 可以結束其他進程
轉載于:https://www.cnblogs.com/pavkoo/p/3405055.html
總結
- 上一篇: sql语句--插入
- 下一篇: MYECLIPSE中快速解决项目的错误的