gpt4 book ai didi

c - 从 C 启动新的 shell

转载 作者:行者123 更新时间:2023-11-30 15:53:08 25 4
gpt4 key购买 nike

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

目前我有以下内容:

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

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

最佳答案

如果你不想连接字符串,你可以这样做:

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

这就是system基本上所做的事情。

否则,要连接字符串,您应该查看 string.h 中的标准函数 strcatstrncat

关于c - 从 C 启动新的 shell,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13888347/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com