/*這是一個(gè)其分別利用子進(jìn)程和父進(jìn)程對(duì)一個(gè)count進(jìn)行計(jì)數(shù)并且輸出,
用于展示父進(jìn)程和子進(jìn)程是共享一個(gè)數(shù)據(jù)段*/
#include <sys/types.h>
#include <unistd.h>
#include <stdio.h>
#include <stdlib.h>
int main (int argc,char *argv[])
{
int count = 1;
int child;
printf("此時(shí)執(zhí)行的是父進(jìn)程,當(dāng)前count的值是:%d\n", count); //創(chuàng)建子進(jìn)程之前
if(!(child = vfork())) //創(chuàng)建子進(jìn)程
{
//由于子進(jìn)程會(huì)首先執(zhí)行,以下為子進(jìn)程執(zhí)行過(guò)程
int i;
for(i = 0; i < 100; i++)
{
printf("這是子進(jìn)程, 當(dāng)前i的值是: %d\n", i); //反復(fù)輸出打印結(jié)果
if(i == 8)
exit(1);
}
printf("這是子進(jìn)程,其進(jìn)程ID是%d count的值是: %d\n", getpid(), ++count);
exit(1); //退出子進(jìn)程
}
else
{ //父進(jìn)程執(zhí)行區(qū)
printf("這是父進(jìn)程,其進(jìn)程ID是%d count的值是: %d, 其子進(jìn)程是: %d\n", getpid(), count, child);
}
return 0;
}
當(dāng)前題目:[Linux進(jìn)程]使用vfork創(chuàng)建子進(jìn)程并且執(zhí)行命令
瀏覽路徑:http://chinadenli.net/article30/jggopo.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供App開(kāi)發(fā)、定制開(kāi)發(fā)、品牌網(wǎng)站制作、關(guān)鍵詞優(yōu)化、外貿(mào)建站、網(wǎng)站建設(shè)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)