Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
如何从 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基本上就是这样做的。
system
否则要连接一个字符串,你应该看看标准函数strcat和strncatfrom string.h。
strcat
strncat
string.h