execvp

    0熱度

    2回答

    我目前正試圖讓我的C程序讀取來自用戶的Unix參數。我到目前爲止搜索了這個網站,但我一直無法弄清楚我做錯了什麼 - 雖然我承認我的指針實現技能是相當有限的。 以下是我現在的代碼;我一直在與沒有運氣的指針搞混了。錯誤也是說我需要使用const * char,但是我在其他例子中看到* char可以由用戶輸入。 #include <stdio.h> #include <stdlib.h> #incl

    1熱度

    3回答

    我正在編寫一個小型的shell程序,它接受一條命令並執行它。如果用戶輸入無效命令,則if語句返回-1。如果命令正確,則執行該命令,但是一旦執行該命令,程序結束。我做錯了什麼,是不執行後面的代碼行?我已經用ls和cat命令測試了execvp(command.argv [0],command.argv),所以我非常肯定它的工作原理。這是我的代碼。 int shell(char *cmd_str){

    1熱度

    1回答

    當我運行我的代碼下面,並在提示符下鍵入「ls」時,它在終端中運行ls,但只是坐在那裏,並沒有再次打印我的提示。我如何獲得控制權回到父流程? 感謝 #include <stdio.h> #include <string.h> #include <unistd.h> int main(int argc, char* argv[]){ while(1){ print_the

    1熱度

    2回答

    因此,這裏是我的代碼,竟然放棄了我的問題位: void childProcessHandler(string command){ int argCounter = 0; for(int i=0; i!=command.size(); i++) argCounter+=(command.at(i) == ' '); char * temp, *token; char *chi

    6熱度

    2回答

    當我撥打execvp時,例如execvp(echo, b)其中b是命令a的參數數組,稍後將更改此數組會影響以前進行的execvp調用嗎?當我嘗試調用execp(echo,b)時,它最終打印出(null)而不是b中的內容。任何人都可以指出爲什麼以及我必須做些什麼才能正確傳遞參數?

    2熱度

    1回答

    我知道我應該使用chdir(),但我只需要解釋爲什麼通過系統調用cd shell命令或從子進程調用execvp()將無法工作?謝謝!!

    3熱度

    1回答

    我有一個服務器進程,分叉許多子進程,服務器進程與cpu核心有親和力,我不希望親和力被子進程繼承(而是os應該處理在哪裏運行這些進程流程)。有沒有辦法脫離親子關係的親子進程? 感謝

    0熱度

    1回答

    我有一個調用與第一個參數「/庫/ Application Support/MyApp的/ myapp.app」 它不工作execvp()一段cpp的文件,我也嘗試添加「\」之前的空格。 我該如何做這項工作? 由於

    1熱度

    1回答

    我想exec()調用grep在我的C程序裏面。我要尋找一個在給定文件中指定串模式的出現次數,可以用以下方式實現: $ grep -e my_string -F my_file.txt -c 預期其中給出了一些輸出,如: 5 然而,我希望是相當的,似乎有一些困難。下面的代碼: char *arg_list[] = {"-e", "my_string", "-F", "my_file.txt"

    6熱度

    5回答

    有誰知道如何捕捉到輸出獲取標準輸出(我認爲它的標準輸出)從execvp而不是系統的終端打印出來(在Linux下C)?