gpt4 book ai didi

c - c Linux 中 system() 的替代方案,用于在 Linux 上执行终端命令

转载 作者:IT王子 更新时间:2023-10-29 00:20:22 26 4
gpt4 key购买 nike

我想在 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/

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