首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何执行Xterm

如何执行Xterm
EN

Stack Overflow用户
提问于 2016-03-05 01:23:21
回答 1查看 502关注 0票数 3

我想知道如何通过execl调用Xterm。例如,对于以下代码

代码语言:javascript
复制
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <string.h>
#include <fcntl.h>
#include <errno.h>
#include <sys/types.h>
#include "util.h"
#define XTERM_PATH "/usr/bin/xterm"
#define XTERM "xterm"
int main() {
    int exStatus;
    pid_t childpid;
    childpid = fork();
    if ( childpid == -1 ) {
        perror( "Failed to fork" );
        exit( 0 );
    }
    if ( childpid == 0 ) {      // Child process

        exStatus = execl( XTERM_PATH, XTERM, "+hold", "-e", "./shi", "shi", (char *)NULL );
        if ( exStatus == -1 ) {
            perror( "Failed to execute shell" );
            exit( 0 );  
        }
    }
    else {
        wait(NULL);
    }   
    return 0; 
}

在这里石只是一个简单的程序,打印出HelloWorld到屏幕上。在我运行程序之后,Xterm没有出现。我想知道哪里出了问题。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-03-05 13:27:27

如果您使用-hold (对于最近的任何xterm版本都不使用+hold) ),并且您的程序确实位于当前目录中(如"./shi"),所示),则应该会出现xterm。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35808879

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档