Como desligar o computador com o Ubuntu a partir de um programa? [fechadas]

1

Como posso adicionar uma 'opção de desligamento' ao meu programa?

Ou como posso enviar comandos para o terminal a partir do meu programa (para que eu possa enviar um comando sudo shutdown )?

Planejando escrever em c ++.

    
por emrey 17.07.2015 / 11:53

2 respostas

1

Você pode usar a função system() definida no cabeçalho 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;
}

Isso é recomendado sobre sudo shutdown porque o primeiro não requer privilégios de root. Ou seu programa solicitará a senha administrativa antes do desligamento.

Você pode obter mais informações sobre o comando do sistema em sua página de manual:

man system
    
por daltonfury42 17.07.2015 / 12:06
1
  

… como posso enviar comandos para o terminal do meu programa…

Usando system , por exemplo:

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

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

ou

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

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

Exemplo

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

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

int main() {
    system("sudo shutdown");
}
    
por A.B. 17.07.2015 / 12:05