C语言中execlp()的基本用法

时间:2011-12-16 18:17:45

标签: multithreading exec

所以我得到了这段代码:

execlp("sh", "sh", "-c", string, (char*) 0);

在课堂上,并告诉udnerstand它。我一直在查找execlp API就像疯了一样,但我仍然不完全理解这段代码在做什么。

我最好的猜测: “sh”是文件路径

“ - c”是参数

string是命令

(char *)0是空终止符。

我似乎无法弄清楚为什么代码中有两个“sh”实例: 我猜-c表示复制,并且该命令正在使用string命令从一个文件到另一个文件执行复制,但我不是100%。

任何澄清将不胜感激。 谢谢。

1 个答案:

答案 0 :(得分:3)

第一个参数是要执行的文件名(在本例中是sh命令)。它的第一个参数应该是可执行文件的名称(因此重复的“sh”), - c是sh exe的另一个参数,它告诉它从命令字符串中读取命令。 string是(我猜)sh应该执行的命令,而(char *)0只是一个结束标记。

如果我遗漏了你想解释的东西,请告诉我。