fork

    0熱度

    1回答

    我正在閱讀幾個shell實現。讓我困惑的一件事情是,在產生子進程之前阻止SIGCHLD,並且在父進程和子進程中的fork()之後立即解除阻塞似乎很常見。 這樣做的目的是什麼?如果我不阻止這個信號會發生什麼?

    0熱度

    1回答

    我正在瀏覽這個問題,並決定自己實施這個程序。我 Interpreting STRACE output - pipes and forks 的strace的輸出是不同的: execve("./fork", ["./fork"], [/* 61 vars */]) = 0 arch_prctl(ARCH_SET_FS, 0x173f880) = 0 pipe([3, 4]) = 0

    1熱度

    1回答

    我被一個項目忽略了,我正在爲github網站上的一個合作者項目工作。原因是它似乎沒有出現在我的存儲庫列表中。 的問題是,每當我再次刪除和克隆項目顯示爲叉.. 我對項目的更改會保存下來,不是很大,但我不想做拉到每次我希望上傳一些新的代碼時,我的同事們。 我一直在研究,我發現了一些解決方案: 安裝到位桶和unfork項目。 在github上創建一個新帳戶(我並不想這麼做)。 YourSuggestio

    4熱度

    2回答

    我想用用C fork()功能在Linux的多進程工作,這是我的代碼: p1 = fork(); if(p1 != 0){ p2 = fork(); } printf("My PID is %d\n",getpid()); printf("My parent PID is %d\n",getppid()); 現在讓我們假設父進程ID是100,並且兩個子進程(P1,P2)ID

    0熱度

    2回答

    我現在試圖創建基於Linux系統的遊戲,其中有三個過程: 裁判 - 主要工藝 藍播放器 - 第一個孩子的過程 紅球員 - 當然,兩個子進程正在使用的fork()功能創建的第二子進程 。 現在一切都創建好了,我使用共享內存來存儲電路板以及三個進程通用的一些變量。 我的問題是,當我想要考慮如何實現基於回合的遊戲時 - 我創建了一個通用的布爾變量,指出遊戲是否仍在運行或完成,以及決定輪到誰的是它。 現在

    0熱度

    1回答

    我想捕獲SIGINT(CTRL + C)。 我希望當用戶鍵入CTRL + C它會殺死子進程,但父進程將正常繼續。 當我在我的程序中有子進程時它工作正常,但是當我沒有子進程時,我得到「分段錯誤」。 我已經這樣做了: void sig_handler(int signo); //======================================== int main() {

    1熱度

    1回答

    我想實現這樣的場景: parallel process scenario 其中ls -l和cat /etc/group進程中運行並行,並tr /a-z/ /A-Z/需要從他們組合的輸入。然後將它們的大寫版本轉移到cat -n和grep Z(它們也應該並行運行)。 cat -n和grep Z應輸出到stdout。 所以在stdoutput, (ls -l ; cat /etc/group) | tr

    -1熱度

    2回答

    我要找的Perl相當於Python的 from multiprocessing import Pool ... if __name__=='__main__': pool = Pool(processes =2) pool.map(Job,DATA) ,以從28列表中同時運行8個shell命令的,但我不想要使用整個機器並傷害到我的同事的工作。我發現Perl的 use T

    8熱度

    1回答

    #include <iostream> #include <unistd.h> #include <stdlib.h> int main() { std::cout << 1; fork(); exit(0); } fork位於流入cout後,但此代碼打印11. 爲什麼?爲什麼代碼只打印1,如果std::endl被添加到cout? #include <i

    0熱度

    1回答

    嗨我有我的C程序的一些問題。目標是fork兩次,然後將pipe中的一些數據從子項2傳遞給子項1,然後將一些不同的數據從子項1傳遞給父項,最後在父項中將其打印出來。這裏是我的代碼: int main(void) { int f,f2,nread; int pfd[2], pfd2[2]; char buffer[512], *str; if(pipe(pf