Форум программистов, компьютерный форум, киберфорум
C/С++ под Linux
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.64/47: Рейтинг темы: голосов - 47, средняя оценка - 4.64
-1 / 5 / 2
Регистрация: 13.03.2013
Сообщений: 203

Запуск команд терминала из программы

27.02.2018, 08:06. Показов 9506. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Люди добрые , все здравствуйте . Помогите научите объясните , как пользоваться терминалом из программы , нажал кнопку и выполнилась команда . Пишу в QT creator , точнее только начал - заметил что там шикарная справка, но что-то пошло не так и я смог открыть терминал - но не выполнить в нем команду , а хотелось б в что бы команда выполнилась а результат выполнения передала в Еdit1, без видимого открытия терминала , пользовался CreateProcess , но как то не сложилось (

Добавлено через 14 минут
int QProcess::execute ( const QString & program )
Вот этим пытаюсь это сделать(
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
27.02.2018, 08:06
Ответы с готовыми решениями:

Запуск консольный команд из-под с++
Доброе утро. Возникло желание через одну программу с++ запустить другую. Для этого я решил воспользоваться командный строкой в линуксе: ...

Запуск программы из терминала
Уважаемые форумчане! Работаю на МАКе. Подскажите такую терминальную команду, при выполнении которой запускался бы еще одно терминальное...

Запуск таких команд как ls, dir из программы
Привет всем, делаю сейчас подобие сервера, дошел до разбора параметров командной строки (т.е. та информация, которую ввёл клиент)....

4
191 / 151 / 61
Регистрация: 08.04.2010
Сообщений: 1,032
27.02.2018, 09:20
А что именно не получается, не чего сложного нет.
C++ (Qt)
1
2
3
4
5
    QProcess process;
    QString file = "file.exe";
    process.start(file);
    process.waitForFinished()
    QByteArray result=process.readAll();
0
-1 / 5 / 2
Регистрация: 13.03.2013
Сообщений: 203
27.02.2018, 10:06  [ТС]
Dovgon, даже передать в терминал и выполнить команду help , а ее вывод (результат) передать в edit1

Добавлено через 58 секунд
Dovgon, сейчас попробую ваш код , спасибо уже вижу , что должно работать

Добавлено через 35 минут
C++
1
2
3
4
5
6
       QProcess process;
    QString file = "help";
    process.start(file);
    process.waitForFinished()
    QByteArray result=process.readAll();
    ui->textedit1->settext(result);
Где я ошибся?

Добавлено через 1 минуту
В команде help? Там надо вызвать терминал с необходимыми аргументами?
0
191 / 151 / 61
Регистрация: 08.04.2010
Сообщений: 1,032
27.02.2018, 17:22
QProcess запускает внешние команды, для вызова help используй
C++ (Qt)
1
system("help >> out.txt");
0
-1 / 5 / 2
Регистрация: 13.03.2013
Сообщений: 203
27.02.2018, 19:22  [ТС]
Dovgon, понял это для внешних, а system для терминала? Тоесть если мне надо выполнить в терминале команду копирования файла в папку я использую system? А вывод результата в edit делаю

Добавлено через 12 минут
Dovgon, help not found ((( никак не могу передать команду терминал, а вывод получить в edit, пойду дальше читать хелпы

Добавлено через 26 минут
C++ (Qt)
1
2
3
4
5
6
7
8
9
QProcess proc;
    //proc.start("/bin/bash", QStringList() << "-c" << "netstat -tuwapn");
    proc.start("/bin/bash", QStringList()  << "-c" << "help");
 
    proc.waitForFinished();
 
    QByteArray output = proc.readAll();
    proc.close();
    ui->textEdit2->setText(output);
Вот так работает!)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
27.02.2018, 19:22
Помогаю со студенческими работами здесь

Отключение истории ведения команд терминала
Как отключить историю ведения команд в терминале ?

Пример какой-нибудь программы на ассемблере с применением логических команд и команд сдвига.
Разработка программ на ассемблере при реализации логических команд и команд сдвига. Очень нужна какая - нибудь работающая программа!

Запуск терминала с нужной командой через QT
Есть програмка которая должна запускать профилирование и поиск ошибок в динамической памяти другой програмки. ПРофилирование и поиск ошибок...

Использование qprocess и system, результат- запуск терминала без команды
Добрый день, уважаемые программистов и сисадмины! Передо мной задача- вывести в текстовое поле результат команды lspci| grep VGA. Я...

Запуск программы без создания окна. Запуск фоновой программы
Вопрос, как сделать, чтобы консольное приложение при запуске не создавало окошко консоли. Т.е. запустился процесс, но визуально ничего не...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Midnight Chicago Blues
kumehtar 24.03.2026
Такой Midnight Chicago Blues, знаешь?. . Когда вечерние улицы становятся ночными, а ты не можешь уснуть. Ты идёшь в любимый старый бар, и бармен наливает тебе виски. Ты смотришь на пролетающие. . .
Контроль уникальности заводского номера - вариант №2
Maks 24.03.2026
В отличие от предыдущего варианта добавлено прерывание циклов, также добавлены новые переменные для сохранения контекста ошибки перед прерыванием цикла: Процедура ПередЗаписью(Отказ, РежимЗаписи,. . .
SDL3 для Desktop (MinGW): Вывод текста со шрифтом TTF с помощью библиотеки SDL3_ttf на Си и C++
8Observer8 24.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-text-sdl3-c. zip finish-text-sdl3-cpp. zip
Жизнь в неопределённости
kumehtar 23.03.2026
Жизнь — это постоянное существование в неопределённости. Например, даже если у тебя есть список дел, невозможно дойти до точки, где всё окончательно завершено и больше ничего не осталось. В принципе,. . .
Модель здравоСохранения: работники работают быстрее после её введения.
anaschu 23.03.2026
geJalZw1fLo Корпорация до введения программа здравоохранения имела много невыполненных работниками заданий, после введения программы количество заданий выросло. Но на выплатах по больничным это. . .
Контроль уникальности заводского номера - вариант №1
Maks 23.03.2026
Алгоритм контроля уникальности заводского (или серийного) номера на примере документа выдачи шин для спецтехники с табличной частью в КА2. Данные берутся из регистра сведений, по которому настроено. . .
Хочу заставить корпорации вкладываться в здоровье сотрудников: делаю мат модель здравосохранения
anaschu 22.03.2026
e7EYtONaj8Y Z4Tv2zpXVVo https:/ / github. com/ shumilovas/ med2. git
Программный отбор элементов справочника по группе
Maks 22.03.2026
Установка программного отбора элементов справочника "Номенклатура" из модуля формы документа в КА2. В качестве фильтра для отбора справочника служит группа номенклатуры. Отбор по наименованию. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru