在linux中,我想寫一個啓動另一個程序的C程序。程序運行時,shell將等待您輸入您在程序中定義的命令。該命令將啓動第二個程序。如何編寫一個C程序來執行另一個程序?
例如,假設在調用程序所在的目錄中有一個名爲「hello」的簡單C程序。 「hello」程序打印輸出「hello,world」。第一個程序將運行,用戶將輸入命令「hello」。 「hello」程序將被執行,並且「hello,world」。將被輸出到shell。
我已經做了一些搜索,並且人們提出了「fork()」和「exec()」函數。其他人表示使用「系統()」。我不瞭解這些功能。我如何調用這些函數?它們適合使用嗎?
具有解釋的示例代碼將最有幫助。其他答案也是受歡迎的。非常感謝您的幫助。
+1更靈活的解決方案 – 2011-03-28 14:32:33
爲什麼'argv'變量和'execv'調用中的'echo'? – User 2016-10-05 19:43:03
@用戶,因爲它是argv [0],即*程序名*。 – 0andriy 2017-01-09 23:57:36