我想在 C 程序中执行 Linux 的终端命令。目前我正在使用 system()
函数,但我想使用任何其他函数,因为根据 MISRA 禁止使用 system()
函数。
例如,我该如何替换
system("hwclock --systohc --utc");
最佳答案
首先你可以使用fork()
创建一个子进程,然后在子进程中,你可以调用exec()
来执行你想要的命令。< br/>
有一个简单的例子:
$ chmod u+x command.sh
$ cat command.sh
#!/usr/bin/env 庆典
ls-l
*************** 测试.c ****************
#include<unistd.h>
int main(void)
{
execl("./command.sh","command.sh",(char*)0);
return 0;
}
关于c - c Linux 中 system() 的替代方案,用于在 Linux 上执行终端命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30662427/