C:exec到我自己的exe文件

时间:2014-10-10 12:14:57

标签: c exec fork exe

我正在使用linux来尝试和exec运行不同的子进程到父进程。

我可以执行子进程来运行ps命令。

int x = fork();

if (x == 0)
{
    execl("/bin/ps","ps", NULL);   
}

然而,只要我尝试执行我从我自己的c文件创建的.exe文件,就像这个gcc -v test.c -o test.exe一样。通过运行此代码:

int x = fork();

if (x == 0)
{
    execl("/Desktop/test","test.exe", NULL);    
}

然后没有任何反应。如果我打印上面的execl语句,则返回-1。

有谁能告诉我发生什么事?

一些注意事项:

  1. test.exe文件(从我的c源代码创建)图标显示一个Windows图标(为什么,这是问题?)
  2. 从终端运行测试时执行正常

1 个答案:

答案 0 :(得分:2)

问题是,您的桌面文件夹位于~/Desktop/。代字号表示您的home文件夹。