使用exec启动应用程序/附件

时间:2013-11-20 23:23:50

标签: c linux exec

我是Linux的新手,而不是c的专家。

尽管进行了大量搜索,但我无法理解如何使用exec启动应用程序。

以下是我的代码片段:

    else if(cpid>0){
    write(STDOUT_FILENO,"in parent",9);
    sleep(1);
    wait(NULL);
    write(STDOUT_FILENO,"CLOSE",5);
    exit(1);
    }
    else{ //child
    execl("menu://applications/Accessories","menu://applications/Accessories","Galculator",NULL);


          exit(1);
      }

请指导我。 谢谢

1 个答案:

答案 0 :(得分:0)

尝试

if (argc != 2) /* [0] = "run", [1] = "app to run" */
{
    fprintf(stderr, "Usage: run <app name>\n");
    exit(1);
}
const char *app = argv[1];
int ret;
ret = execl(app, app, NULL);
if (ret < 0)
    perror("execl");

Linux中的路径基于文件系统路径,看起来您在使用任何窗口管理器中的GUI元素返回的路径时会感到困惑。如果你的binpath中有galculator(它应该来自我所知道的),这应该有效。