2012-01-18 57 views
2

我正在使用popen從主程序啓動C++從站程序。但是,通過這樣做,控制器不會返回到主程序,直到從機完成其任務。獲取主程序在新線程中啓動從站

我如何開始在一個單獨的會話(或單獨的線程)的奴隸,所以法師是不是被迫等待的控制權被傳遞迴主前完成?

我想師傅能夠啓動從機,然後完成,與主退出後從持續。

回答

3

要做到這一點,你需要到餐桌的主要過程,然後檢查將爲pid_t的fork命令返回。從那裏你可以隨心所欲地做一名高管或者專家。

當你調用fork調用進程得到一個返回將爲pid_t(這是你剛纔創建的子進程的ID)。如果pid_t爲0,那麼這是新創建的過程,您可以隨心所欲。

例如

pid_t childPid = fork(); 
if(childPid == 0) 
{ 
    // Do your process create here. 
    ... 

    // Abort this process once it returns control. 
    abort(); 
}