Как выполнить сложные команды Linux в QT? [дублировать]C++

Программы на C++. Форум разработчиков
Ответить
Anonymous
 Как выполнить сложные команды Linux в QT? [дублировать]

Сообщение Anonymous »

Я хочу перезапустить компьютер, запустив команду в Linux, используя QProcess . У меня жестко кодировал пароль корня в моем приложении.

Код: Выделить всё

echo myPass | sudo -S shutdown -r now
< /code>

Когда я помещаю команду в скрипт оболочки и вызовут ее через Qprocess < /code> Это также успешно: < /p>

QProcess process;
process.startDetached("/bin/sh", QStringList()

Но я не могу запустить его, напрямую перейдя в Qprocess < /code>: < /p>

process.startDetached("echo myPass | sudo -S shutdown -r now ");
< /code>

Это просто печатать mypass | sudo -s shutdown -r теперь 


Как можно запустить такие относительно сложные команды непосредственно, используя Qprocess . (Не вкладывать скрипт оболочки).

Подробнее здесь: https://stackoverflow.com/questions/233 ... ands-in-qt
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C++»