我有一个程序可以分离其他进程。我的程序的参数包括要分叉的进程的进程名称以及任何参数。
这意味着,当我调用exec()时,我需要能够处理多个参数。
有什么想法吗?
感谢。
答案 0 :(得分:5)
execv
函数接受一个参数数组的指针。
就像在main
中一样,数组中的最后一个元素需要是一个空指针。
答案 1 :(得分:1)
或者,execl()
采用可变数量的参数,在列表末尾有一个NULL
指针。你应该使用execv()
,因为它更清洁; C中的varargs只能被认为是一个丑陋的黑客(如果你敢的话,请看一下({1}} /usr/include/varargs.h
所指的文件。)。