我想在我的c代码中使用命令。当我是终端中的超级用户(使用su)时,此命令正常工作,但在使用sudo时不起作用。我收集到我可以在我的c代码中使用system(),如下所示
system("su -c \"mycommand\"")
myCommand是一个向某些设备发送输入的命令,如(echo 1> mydevice)
我使用gcc编译了我的c代码并运行输出文件。麻烦的是,它要从终端获得root密码。 有没有办法以编程方式提供密码?我之前使用带-S选项的sudo命令,但是sudo命令对于这种情况不起作用。如果不可能,还有另一种方法可以解决这个问题吗?
答案 0 :(得分:2)
试试这个,
system("sudo sh -c \"mycommand\"");