vte_terminal_fork_command_full之后的child-exited信号

时间:2014-01-12 12:35:44

标签: gtk3 fork

我正在使用vte_terminal_fork_command_full函数来启动带有一些命令行参数的新终端

vte_terminal_fork_command_full(
    VTE_TERMINAL(term->vte),
    VTE_PTY_DEFAULT,
    NULL,
    command_argv,
    NULL,
    G_SPAWN_SEARCH_PATH,
    NULL,
    NULL,
    &term->pid,
    &gerror))

command_argv包含唯一的一个元素

command_argv[o] = 'ls'

ls命令执行得很好,但是终端必须关闭,因为已经使用回调处理了子退出信号

g_signal_connect(G_OBJECT(term->vte), "child-exited",
 G_CALLBACK(child_exited), NULL);

有人知道为什么发出这个信号?我怎么能避免它?

1 个答案:

答案 0 :(得分:0)

当你的孩子进程退出时,你会得到一个孩子退出的信号 - 这里没有什么可讨论的。如果你想让终端窗口保持打开状态,要么不要连接信号,要么编写一个执行lssleep 60的shell脚本,调用该脚本,你需要在60秒前完成窗户关闭。