J'essaie d'exécuter un processus en tant que root à partir de mon application qui s'exécute avec des privilèges normaux en utilisant les éléments suivants pkexec
.
Quand j'invoque pkexec
de manière synchrone, tout va bien mais lorsque je l'exécute de manière asynchrone avec le code suivant :
private void execute_process_async () {
if (permission.allowed ) {
...
Pid child_pid;
var cli = "%s/my_exec".printf (Build.PKGDATADIR);
try {
Process.spawn_async (null,
{ "pkexec", cli,
settings.scrollbar_width.to_string (),
settings.scrollbar_button_radius.to_string (),
settings.active_tab_underline_color
},
Environ.get (),
SpawnFlags.SEARCH_PATH,
null,
out child_pid);
} catch (SpawnError e) {
report_error ("error while executing '%s'. Message: '%s'.".printf (cli, e.message)) ;
}
}
}
Je reçois un message d'erreur plutôt sinistre :
Refusing to render service to dead parents.
Vous savez ce qui se passe ?