fork

    1熱度

    1回答

    進程樹: 我想打一個進程樹像上面的圖片。我寫了下面的代碼,但如果你看看PID,你會發現有一個問題! 我的代碼: #include <stdio.h> #include <stdlib.h> #include <unistd.h> int main() { int a ; int b ; int c ; int d ; int e ;

    0熱度

    2回答

    我想用fork()創建一個兒子(1),並且這個兒子需要創建另一個兒子(2)。 兒子(1)和父親需要等待他們的兒子的結束給出信息。我希望他們所有人都可以使用printf他們的PID。 這是我的代碼: #include <stdio.h> #include <stdlib.h> int main(){ int pid; //i know thats not good if

    0熱度

    1回答

    我寫了一個程序,它打開一個文件並反覆創建一個將文件內容打印到標準輸出的子進程。 如果我在後臺運行此程序並更改文件的內容,將打印新內容。 但是,如果我刪除文件的讀取權限或刪除文件,程序將不會更改其行爲。 我不明白爲什麼會發生這種情況。 這是代碼: fd = open(argv[1], O_RDONLY); if (fd == -1) { perror("catloop: open

    0熱度

    1回答

    我已分叉託管在Bitbucket上的Mercurial存儲庫。我沒有原始存儲庫的寫入權限。我向我的叉子做了幾次提交。讓我們稱他們爲A,B,C和d,即最新的第一: d [最新] Ç 乙< ---拉只在此所做的更改提交 一[最古老] 現在我想讓拉請求在提交乙獨家所有的變化,忽視了A,C和D是有辦法做到這一點?

    2熱度

    1回答

    我想創建另一個版本的克隆(2)系統調用(在內核空間)創建一個用戶進程的克隆與一些額外的參數。這個系統調用將完成與克隆(2)完全相同的工作,但我想通過一個額外的參數從user_space.However內核的時候我看到的glibc的code 似乎每個參數都不會以相同的順序傳遞的克隆() int clone(int (*fn)(void *), void *child_stack, in

    0熱度

    1回答

    是否有任何Linux相當於fork1的Solaris? Solaris手冊頁說:對fork()的調用與對fork1();的調用完全相同,只有調用線程在子進程中被複制。這是針對fork()的POSIX指定的行爲。

    0熱度

    2回答

    想象一下,我有兩項任務,每項任務都需要2秒才能完成工作。 在這種情況下,如果我爲它們中的每一個創建了兩個線程,並且我的PC是單核的,這將不會節省任何時間。我對嗎 ? 如果我使用fork創建兩個進程(機器仍然是單核)並且每個進程負責一項任務該怎麼辦?這可以節省時間嗎? 如果不是這樣,我有一個問題: 在當前現代化的機器(包括多核),如果我有幾個任務重,我應該使用哪種方法? fork? 線程? fork

    2熱度

    1回答

    我做了一個非常簡單的程序調用分叉和調用另一個問題。雖然它做我想做的事情,一個錯誤發生和cout發生雙循環的次數。下面是代碼: 的main.cpp `#include <iostream> #include <cstdlib> #include <stdio.h> #include <string.h> #include <time.h> #include <stdlib.h> #in

    1熱度

    2回答

    我有這樣的代碼爲fork從父進程的子過程,我知道: os.fork()創建先前的Python會話的副本,並打開它並行,os.fork()返回新進程的ID。 我想分別從一個子進程派生一個子進程,但總是從父進程派生出來。如何做到這一點。 import os def child(): print('this is child', os.getpgid()) os._exit()

    0熱度

    1回答

    我有一個bash腳本,我想在分叉的進程中運行一些不相關的命令。這些命令只能運行在分叉進程中,而其他命令只能運行在父進程中。 echo "I am parent statement 1" (echo "I am child statement 1"; echo "I am child statement 2"; sleep 30) & echo "I am parent statement 2"