對作業中程序一些操作

2021-06-07 00:19:44 字數 2056 閱讀 9478

1、windows提供了乙個作業(job)核心物件,它允許我們將程序組合在一起並建立乙個「沙箱」來限制程序能夠做什麼。

2、可以把作業物件想像成乙個程序容器,建立只包含乙個程序的作業同樣有用,因為這樣可以對程序施加平時不能施加的限制。

3、isprocessinjob(handle hprocess,handle hjob, pbool pbinjob);判斷是否與乙個作業相關聯,在msdn上找不到太多資料,估計只是在windows vista中有吧。

4、handle createjobobject(psecurity_attribytes psa,pctstr pszname);建立乙個新的作業核心物件。

5、openjobobject(dword dwdesiredaccess,bool binherithandle,pctstr pszname);用來訪問乙個作業核心物件。

6、關閉作業的控制代碼會導致所有程序都不可以訪問此作業,即使這個作業仍然存在。

7、對作業中的程序施加限制-----幾種型別的限制:

1)、基本限制和擴充套件基本限制,用於防止作業中的程序獨佔系統資源。

2)、基本的ui限制,用於防止作業內的程序更改使用者介面。

3)、安全限額,用於防止作業內的程序訪問安全資源(檔案、登錄檔子項等)。

8、bool setinformationjobobject(handle hjob,jobobjectinfoclass jobobjectinformationclass,pvoid pjobobjectinformation,dword cbjobobjectinformationsize);

通過呼叫該函式向作業施加限制。第乙個引數是指定要限制的作業。第二個引數是乙個列舉型別,指定了要施加的限制型別。

第三個引數是乙個資料結構位址,包含具體的限制設定,第四個資料結構大小。

9、限制型別與對應的資料結構:

jobobjectbasiclimitinformation-------------jobobject_basic_limit_information(基本限額)

jobobjectextendedlimitinformation----------jobobject_extended_limit_information(擴充套件後的基本限額)

jobobjectbasicuirestrictions---------------jobobject_basic_ui_restrictions(基本的ui限制)

jobobjectsecuritylimitinformation----------jobobject_security_limit_information(安全限制)

10、可以通過下面的函式查詢限制

bool queryinformationjobobject(handle hjob,jobobjectinfoclass jobobjectinformationclass,pvoid pvjobobjectinformation,

dword cbjobobjectinformationsize,pdword pdwreturnsize);

typedef struct _jobobject_basic_limit_information  jobobject_basic_limit_information, *pjobobject_basic_limit_information;

typedef struct _jobobject_extended_limit_information jobobject_extended_limit_information, *pjobobject_extended_limit_information;

typedef struct _jobobject_basic_ui_restrictions jobobject_basic_ui_restrictions, *pjobobject_basic_ui_restrictions;

typedef struct _jobobject_security_limit_information jobobject_security_limit_information, *pjobobject_security_limit_information;

對殭屍程序的一些思考

解釋 乙個程序在呼叫exit命令結束自己的生命的時候,其實它並沒有真正的被銷毀,而是留下乙個稱為殭屍程序 zombie 的資料結構 系統呼叫exit,它的作用是使程序退出,但是也僅僅限於將乙個正常的程序變成乙個殭屍程序,並不能將其完全銷毀 程序的危害 由於子程序的結束和父程序的執行是乙個非同步過程,...

關於對IP的一些操作

最近看到一些對ip的操作,感覺不錯,而且以後可能會用到,所以收集過來,以備以後使用.1.獲取mac位址操作 using system using system.runtime.interopservices namespace utilitycontrol dllimport iphlpapi.dl...

對oop一些的基本操作

header content type text html charset utf 8 是基於對oop一些的基本操作,及為obj2.demo引出私有屬性在類外的賦值和使用 get,set,isset,unset this這個引用指標是代表呼叫此方法的物件 class person 這個人可以說話的方...