本质上,都只是暂时获得root权限去执行,命令,一般是使用sudo
但是sudo需要输入密码,下面是不用输入密码的办法
process->start(("sh -c \"echo "+password+" | 要执行的命令").toLatin1());
使用echo将密码输入
在网上查的时候,还看到有人说,可以用
system("pkexec ls /");
使用 pkexec会弹出一个授权窗口,让用户输入密码,然后就能执行pkexec后面的命令
还有就是,可以结合第一个方法,重新写一个程序,来调用需要使用root权限的程序