场景:
我的 C++ 应用程序在 iMX 处理器上的嵌入式 linux Fedora 上运行。它是一个在用户模式下运行的应用程序,没有 root 访问权限。
我需要运行一个可以重新启动系统/操作系统的系统命令。在 C++ 中工作的命令如下所示。
system("shutdown -r now");
问题:
但上述命令仅在从具有 root 访问权限的应用程序执行时才有效。
有时我也需要能够以类似的方式关闭系统。
system("shutdown now");
上面的命令显然不起作用,因为我的应用程序没有 root 访问权限。添加像这样 [ system("shutdown -r now")
] 的 sudo 有效,但必须输入密码,这不是我想要做的。
问题:
即使我的应用程序是用户模式应用程序,如何让我的应用程序运行系统命令以重新启动?有什么方法可以在不让我的应用程序从根目录运行的情况下做到这一点?
linux 源代码或脚本中是否有一些东西我可以调整以只为我的应用程序提供关闭和重新启动系统的权限?