fork

    -1熱度

    1回答

    我在需要調用另一個程序「b.pl」的終端上運行perl程序「a.pl」,然後將環境變爲tcl shell。程序「b.pl」設置了我必須在主程序「a.pl」中使用的環境變量,之後我需要在由「b.pl」創建的tcl環境中運行新命令。請看下面的例子中 程序:a.pl #!/usr/intel/bin/perl -w use strict; use warnings; #t

    -1熱度

    2回答

    我試圖使用fork與execvp同時運行兩個shell命令。我有兩個問題,當我輸入mkdir folder1&mkdir folder2時,它會創建一個名爲folder1的文件夾和另一個名爲folder2?(該問號包含在文件夾名稱中)的文件夾。另一個問題是執行這兩個命令後代碼退出。 下面是代碼: #include <stdio.h> #include <stdlib.h> #include <

    1熱度

    1回答

    如果我讓根特權進程模擬一些較小的用戶並分支一個子進程,那麼假設子進程擁有用戶權限並且與根無關,那麼安全嗎?我使用默認的自定義方法作爲用戶,並恢復到所有者的信譽(root)。他們被抽象化。但通常,這些方法會將整個過程的上下文更改爲用戶的上下文(可能包括uid,gid等)。

    2熱度

    1回答

    我編寫調用fork()來創建子進程的C應用程序。該應用程序以root身份運行。在父進程中,我使用wait()來等待終止子進程。在子進程中,我使用prctl()和PR_SET_PDEATHSIG選項來檢測父進程的死亡。它工作正常。爲了降低安全問題的風險,子進程調用setuid()來更改UID。問題是:子進程無法檢測到父進程的死亡。 我已搜查四處尋找答案,發現一些有用的鏈接,但它並不能幫助: Dete

    1熱度

    1回答

    我從來沒有得到過這個;我正在做一個簡單的程序:創建子進程的父進程,並在它終止之後;這是代碼 #include <stdio.h> #include <stdlib.h> #include <unistd.h> #include <sys/types.h> #include <sys/wait.h> int child(pid_t pid) { printf("proce

    -2熱度

    2回答

    我在c程序中有兩個爐臺,create_open_log_file()和write_to_log_file()以及一個全局文件指針。 當這些函數被調用時,日誌文件按預期創建(我可以在目錄中看到它)。然後調用write_to_log_file()並創建子進程。在這一點上,我會預期字符串test test test將被寫入該文件中的一個循環。字符串child process打印在終端o我知道代碼正在執行

    2熱度

    1回答

    我嘗試在下面的代碼的同時,開始100個處理: int cnt = 0; void sig_handler(int signo) { pid_t pid; int stat; pid = wait(&stat); cout << "cnt:" << ++cnt << ", pid:" << pid << " signal:" << signo << end

    0熱度

    1回答

    我想在Node.js中使用child_process.fork函數來產生一個新進程。該示例也適用於spawn函數。 爲了確保這些子進程均勻利用機器上的所有內核,我希望設置它們的CPU關聯性,從而迫使它們遷移到期望的內核。 我知道如何在C和終端中做到這一點,但我怎麼會在Node.js中做到這一點?

    1熱度

    1回答

    我對linux編程相對較新。我想知道在fork()之後調用的exec()函數是否會導致父進程中的數據丟失。

    3熱度

    2回答

    我從主控主機到從屬主機執行ZFS遠程複製,其中我有一個在主控主機上運行的Perl腳本。 對於每個文件系統,ssh到遠程主機並在監聽模式下啓動mbuffer,然後腳本繼續併發送數據。成功時,mbuffer應該自行退出。 問題 這是相當困難的開始mbuffer通過ssh遠程主機上,然後可以繼續在腳本。我最終做了你可以在下面看到的內容。 問題是,在腳本退出之前,它會爲每個文件系統處理一個文件系統。 問題