我正在用指令启动一个进程
execl("./softCopia","softCopia",NULL);
Run Code Online (Sandbox Code Playgroud)
softCopia只是一个在文件中写入整数的虚拟对象.
我想知道如何获得这个过程的pid?
由于所有Unix exec函数都用新的函数替换正在运行的进程,因此exec'd进程的PID与之前的PID相同.
因此,通过使用得到PID getpid()通话,之前调用execl.
或者,如果您确实想继续运行主程序并启动新程序,请先使用fork().该fork()函数返回错误的负值,0表示新的子进程,以及父进程中子进程的PID.因此,父母可以使用其中一个wait功能,或者继续其业务直到以后.