Wie zum Herunterfahren von Linux mit C++ oder Qt ohne Aufruf von "system()"?

Möchte ich abschalten einer Embedded Linux, wenn schließen-Schaltfläche gedrückt wird auf der Benutzeroberfläche. Ich weiß, ich kann es tun, mit einem Aufruf system:

system("shutdown -P now");

Ref: Link

Aber zu wissen, dass mit system ist nicht zu empfehlen, ich'ld gerne wissen, ob es einen anderen Weg, in C++ zu tun (wenn es auch eine bestimmte Art und Weise, dies zu tun mit Qt, ich'ld auch gerne wissen, obwohl es eine Allgemeine C++ - Methode ist wichtiger).

  • Warum ist system() nicht beraten?
  • Lesen Sie über DBus. BTW, es ist ein QDBus api, denke ich.
  • aus einem ganz einfachen Grund, wenn der OP ist, die Qt benutzt, bedeutet es, dass es root-Rechte benötigen, innerhalb einer GUI-Anwendung, wirklich schlechte Idee. Programme aufrufen mit system() fast immer stellt ein Sicherheitsproblem.
  • es ist ein embedded system.
InformationsquelleAutor Momergil | 2015-03-02
Schreibe einen Kommentar