代码之家  ›  专栏  ›  技术社区  ›  Daniel Walker

execl找不到vim

  •  0
  • Daniel Walker  · 技术社区  · 5 年前

    在Linux上的C程序中,我分叉一个子进程并调用 vim 在文件上。电话是

    execl(editor,path,NULL);
    

    哪里 editor 是一个 const char* 指向 "vim" path 是一个 常量字符* 指向 "../grr/engine/nfaRuntime.c" .

    我明白了

    [pid  2022] execve("vim", ["../grr/engine/nfaRuntime.c"], 0x7ffc32f38ea8 /* 28 vars */) = -1 ENOENT (No such file or directory)
    

    但是,vim安装在我的计算机上(以及 PATH )并且指定的文件确实存在。我也有阅读权限。我已经确认了,通过 getcwd ,我的程序正在 grr 目录

    1 回复  |  直到 5 年前
        1
  •  3
  •   Eric Postpischil    5 年前

    execl 不搜索 PATH . execlp