[英]Which command to use to execute a program within C++ code [Linux]?
問候,
是C ++和Linux的新手。 我正在尋找一個用於在源代碼中執行3個可執行程序(exe / bin)的命令,這就是我想做的:
1.知道過程是否成功執行(返回值)
2.知道進程ID
3.終止進程
我嘗試了System(),但是它不會返回錯誤且沒有PID,也不安全。 我快速看了一下fork()-exec(),但是可能沒有父子關系嗎? 另外,我看了手冊頁,但我聽不懂:(
請給我建議我應該使用哪個命令。
先感謝您!
您看過popen()嗎? 這可能是要走的路。 嘗試手冊頁。
根據定義,在啟動新程序時,您始終具有父子關系(除非它們在當前進程中替換了您自己的程序;在不先fork
情況下調用execl
時,您會得到這種關系)。 內部喜歡system
和popen
函數也調用fork
和exec
變體之一。
看一下劍橋大學的Fork and Exec教程 ,這很簡單直接。 也使用C ++。 請注意,所有相關調用( fork
, execl
, wait
)都是C POSIX函數。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.