0

如何从 C 启动新的非交互式 shell 进程?

目前我有以下内容:

system(cmdStr);
//system("/bin/sh -c");

cmdStr 是我要执行的命令。我在下面有对 shell 进程的引用......但是如何将 cmdStr 附加到它?如何让它启动一个新进程?

4

1 回答 1

1

如果您不想连接字符串,可以执行以下操作:

if (fork())
{
    execl("/bin/sh", "sh", "-c", cmdStr, (char *) NULL);
    exit(EXIT_FAILURE);
}

system基本上就是这样做的。

否则要连接一个字符串,你应该看看标准函数strcatstrncatfrom string.h

于 2012-12-15T01:10:55.973 回答