如何通过程序关闭 ubuntu 计算机?

如何通过程序关闭 ubuntu 计算机?

如何向我的程序添加“关机选项”?

或者我如何从我的程序向终端发送命令(这样我就可以发送命令sudo shutdown)?

计划用 c++ 编写。

答案1

您可以使用system()标题中定义的函数stdlib.h

#include<stdlib.h>
int main()
{
  system("dbus-send --system --print-reply --dest=org.freedesktop.login1 /org/freedesktop/login1 \"org.freedesktop.login1.Manager.PowerOff\" boolean:true");
  retrun 0;
}

建议不要这样做,sudo shutdown因为前者不需要 root 权限。否则您的程序会在关机前要求输入管理密码。

您可以从系统命令的手册页中获取有关该系统命令的更多信息:

man system

答案2

…我怎样才能从我的程序向终端发送命令……

使用system,例如:

#include <stdio.h>
#include <stdlib.h>

int main() {
    system("/bin/ls -la");
}

或者

#include <stdio.h>
#include <stdlib.h>

int main() {
    system("sudo shutdown");
}

例子

% gcc foo.cpp
% ./a.out
[sudo] password for aboettger:

% cat foo.cpp 
#include <stdio.h>
#include <stdlib.h>

int main() {
    system("sudo shutdown");
}

相关内容