Rasm 3.9 Jarayon yaratish foydalanish the vilka() tizimi qo'ng'iroq qiling.
#o'z ichiga oladi < stdio.h >
#o'z ichiga oladi < windows.h >
int asosiy (VOID)
{
STARTUPINFO si;
JARAYON MA `LUMOT pi;
/* ajratish xotira */ ZeroMemory(&si, sizeof(si)); si.cb = sizeof(si); ZeroMemory(&pi, sizeof(pi));
/* yaratmoq bola jarayon */
agar (! CreateProcess (NULL, /* foydalanish buyruq chiziq */ "C: ∖∖ WINDOWS ∖∖ system32 ∖∖ mspaint.exe", /* buyruq */ NULL, /* qilmang meros jarayon tutqich */
NULL, /* ip dastagini meros qilib olmang */ FALSE, /* tutqichni meros qilib olishni o‘chirib qo‘ying */ 0, /* yo'q yaratish bayroqlar */
NULL, /* foydalanish ota-onaning muhit blok */ NULL, /* foydalanish ota-onaning mavjud katalog */ &si,
&pi))
{
fprintf(stderr, "Yaratmoq Jarayon Muvaffaqiyatsiz"); qaytarish -1;
}
/* ota-ona bo'ladi Kutmoq uchun the bola uchun to'liq */ WaitForSingleObject (pi.hProcess, INFINITE); printf("Bola To'liq");
/* yaqin tutqichlar */ CloseHandle (pi.hProcess); CloseHandle(pi.hThread);
}
Rasm 3.10 Yaratish a alohida jarayon foydalanish the Windows API.
hajmi va tashqi ko'rinishi va standart kiritish va chiqish fayllari uchun ishlov berish. JARAYON MA'LUMOTI tuzilmasi tutqich va yangi yaratilgan jarayon va uning ipining identifikatorlarini o'z ichiga oladi. Davom etishdan oldin ushbu tuzilmalarning har biri uchun xotira ajratish uchun ZeroMemory() funksiyasini ishga tushiramiz. CreateProcess() .
CreateProcess() ga uzatilgan dastlabki ikkita parametr dastur nomi va buyruq qatori parametrlaridir. Agar dastur nomi NULL bo'lsa (xuddi shunday hisoblanadi ichida bu hol), the buyruq qatori parametri belgilaydi the ilova uchun yuk.
In bu misol, biz bor yuklash the Microsoft Windows mspaint.exe ilova . Beyond bular ikki boshlang'ich parametrlar, biz foydalanish the standart parametrlari meros olish uchun jarayon va ip tutqichlar kabi yaxshi kabi belgilash bu U yerda bo'ladi bo'l ijod yo'q bayroqlar. Biz shuningdek foydalanish the ota-onaning mavjud muhit blok va boshlang'ich katalog. Oxirgi, biz ta'minlash ikki ko'rsatkichlar uchun the STARTUPINFO va JARAYON - dastur boshida yaratilgan AXBOROT tuzilmalari. 3.8-rasmda ota-ona jarayoni, wait() tizimi chaqiruvini chaqirish orqali bolaning tugashini kutadi . Buning Windowsdagi ekvivalenti WaitForSingleObject() dir , bu bola jarayonining dastasi uzatiladi — pi.hProcess - va buni kutadi jarayon uchun to'liq. Bir marta the bola jarayon chiqishlar, boshqaruv qaytadi dan asosiy jarayonda WaitForSingleObject () funktsiyasi.
Dostları ilə paylaş: |