当前位置: 技术问答>linux和unix
execvp函数问题
来源: 互联网 发布时间:2016-12-17
本文导语: 我用execvp函数去执行一个hello程序,hello程序和本程序在同一目录下,为什么我在程序中写execvp("hello", NULL);执行的时候出现No such file or directory,而改成execvp("/home/liyi/test/hello", NULL);却可顺利执行了啊,exec以“p”结...
我用execvp函数去执行一个hello程序,hello程序和本程序在同一目录下,为什么我在程序中写execvp("hello", NULL);执行的时候出现No such file or directory,而改成execvp("/home/liyi/test/hello", NULL);却可顺利执行了啊,exec以“p”结尾应该是一个程序名,是不是我环境变量有什么问题啊,谢谢指教
|
execvp("hello", NULL)
应该根据环境变量PATH的设置,搜索执行程序hello
可能是你的PATH没有包含当前路径
试试export PATH=$PATH:.
然后再执行你的程序
应该根据环境变量PATH的设置,搜索执行程序hello
可能是你的PATH没有包含当前路径
试试export PATH=$PATH:.
然后再执行你的程序
|
去实验了下, 得出结论是
1. execvp应该是不写绝对路径(即/开头)时, 只会搜索PATH指定的环境路径
2. 调用execvp的进程结束后, 使用execvp开启的新进程并不会结束
初学LINUX
仅供参考
希望楼主遇到问题多发帖大家一同进步
1. execvp应该是不写绝对路径(即/开头)时, 只会搜索PATH指定的环境路径
2. 调用execvp的进程结束后, 使用execvp开启的新进程并不会结束
初学LINUX
仅供参考
希望楼主遇到问题多发帖大家一同进步