2017-03-03 57 views
0

推出進程的PID我發起一項進程與指令ç獲取與EXECL

execl("./softCopia","softCopia",NULL); 

softCopia僅僅是在一個文件中寫入整數虛設。

我想知道如何得到這個過程的PID?

回答

3

由於所有的Unix執行函數都取代了運行的進程,所以exec'd進程的PID與之前的PID相同。

因此,您通過使用getpid()調用,調用execl得到PID。或者,如果您確實想繼續運行主程序並啓動新程序,則首先使用fork()fork()函數爲錯誤返回負值,爲新的子進程返回0,並在父進程中返回子進程的PID。因此,父母可以使用wait函數之一,或者直到後來才繼續其業務。