execv未知路径用法

时间:2012-11-22 08:23:43

标签: c unix exec

我必须执行路径未知的命令。我可以到达环境路径,但我怎样才能使用它们?例如,如果有5个不同的路径,我应该在execv中尝试哪一个?

/ usr / lib / lightdm / lightdm:/ usr / local / sbin:/ usr / local / bin:/ usr / sbin:/ usr / bin:/ sbin:/ bin:/ usr / games

在解析数组中的这些路径后,我该如何使用它们?我应该为每个人尝试execv吗?

1 个答案:

答案 0 :(得分:0)

您可以使用execvp,它会在执行的shell PATH中搜索二进制文件(请参阅http://linux.about.com/library/cmd/blcmdl3_execv.htm)。

如果这不是一个选项,你可能应该像execvp / shell那样做:看一个接一个的路径(从左到右)并检查那里是否有一个具有给定名称的可执行文件。