如何向我的程序添加“关机选项”?
或者我如何从我的程序向终端发送命令(这样我就可以发送命令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");
}