[理工] [OS]-fork()
int global=10
int main(){
int local=10
pid_t pid = fork();
if(pid == 0){ //1
local += 10;
global+= 10;
}
else if(pid >0){ //2
wait(NULL);
printf("global=%d",global);
printf("local=%d",local);
}
printf("這行child process會執行嗎?") //3
}
global = 10??
local = 20??
另外,如果child執行了exec(),答案還會一樣嗎??
這邊一直搞不懂,child執行完exec()後,區域/全域變數還是共用嗎?
且執行完後//2跟3是不是會交錯執行??
--
◤ ◥ 答 ◤ ◥ 拉 ◤ ◥ 米 ◤ ◥ 哆
Σ ◆ ◆ 蚊 Σ ◆ ◆ 肥 Σ ◆ ◆ 開 Σ ◆ ◆ 啦
︵ 吸 ︵ 兒 ︵ 喇 ︵ 太
◣++++++◢ ◣++++++◢ ◣++++++◢ 雞 ◣++++++◢ 裸
◥▇▆@ ≡ @▆▇◤ Ψ ≡ Ψ ▄ ≡ ▄ 囉 ▄▄▄ ≡ ▄▄▄
▅ ▅ ▄/ ▅ \▄ ▅ AΓVISS
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 122.116.14.2
推
03/05 00:47, , 1F
03/05 00:47, 1F
推
03/05 00:51, , 2F
03/05 00:51, 2F
→
03/05 00:52, , 3F
03/05 00:52, 3F
→
03/05 00:54, , 4F
03/05 00:54, 4F
→
03/05 00:55, , 5F
03/05 00:55, 5F
→
03/05 00:55, , 6F
03/05 00:55, 6F
推
03/05 00:55, , 7F
03/05 00:55, 7F
→
03/05 00:55, , 8F
03/05 00:55, 8F
→
03/05 00:55, , 9F
03/05 00:55, 9F
→
03/05 00:56, , 10F
03/05 00:56, 10F
→
03/05 00:56, , 11F
03/05 00:56, 11F
→
03/05 00:57, , 12F
03/05 00:57, 12F
→
03/05 00:58, , 13F
03/05 00:58, 13F
→
03/05 00:59, , 14F
03/05 00:59, 14F
→
03/05 01:00, , 15F
03/05 01:00, 15F
→
03/05 01:01, , 16F
03/05 01:01, 16F
→
03/05 01:01, , 17F
03/05 01:01, 17F
→
03/05 01:03, , 18F
03/05 01:03, 18F
→
03/05 01:04, , 19F
03/05 01:04, 19F
推
03/05 01:04, , 20F
03/05 01:04, 20F
→
03/05 01:05, , 21F
03/05 01:05, 21F
→
03/05 01:05, , 22F
03/05 01:05, 22F
→
03/05 01:08, , 23F
03/05 01:08, 23F
→
03/05 01:08, , 24F
03/05 01:08, 24F
→
03/05 01:11, , 25F
03/05 01:11, 25F
→
03/05 01:11, , 26F
03/05 01:11, 26F