|
|
|
Аналог CreateProcess()18.04.2018, 11:40. Показов 8583. Ответов 49
Метки нет (Все метки)
Есть ли в Linux полноценный аналог виндовой CreateProcess().
Я искал, есть разные ф-ции для работы с подпроцессами, но все они как-то предоставляют только те или иные возможности. Хотелось бы получать id, работать с перенаправлением вывода - пайпами, возможности ждать завершения процесса, возможности убить процесс итп. Что наиболее близко к по ф-ционалу CreateProcess() ?
0
|
|
| 18.04.2018, 11:40 | |
|
Ответы с готовыми решениями:
49
CreateProcess с совместимостью Win95 (програмно) кроссплатформенный аналог WinApi функций (CreateProcess) CreateProcess() |
|
Псевдослучайный
1946 / 1146 / 98
Регистрация: 13.09.2011
Сообщений: 3,215
|
|
| 18.04.2018, 12:30 | |
|
man 3 fork exec pipe wait kill
0
|
|
|
Заблокирован
|
|||
| 18.04.2018, 13:56 | |||
|
0
|
|||
|
|
|||
| 18.04.2018, 14:18 [ТС] | |||
|
Как другой процесс то порождать? Конечно же есть. Добавлено через 37 секунд
0
|
|||
|
4083 / 2681 / 432
Регистрация: 09.09.2017
Сообщений: 11,932
|
|||
| 20.04.2018, 20:54 | |||
|
0
|
|||
|
|
|||
| 20.04.2018, 21:23 [ТС] | |||
|
Начиная с перенаправления потоков в/в через именованные пайпы, с чтением/записью (при чем можно асинхронно) до получение хенлов процесса и его первичного потока с возможностью ожидания, возможность задать окружение, наследование хендлов, состояние окна итп.
0
|
|||
|
Заблокирован
|
||||
| 20.04.2018, 21:45 | ||||
|
Добавлено через 8 минут
0
|
||||
|
|
|||||||
| 20.04.2018, 21:51 | |||||||
|
Здравствуйте!
Вот примерно так:
0
|
|||||||
|
Диванный эксперт
|
||||||||
| 20.04.2018, 22:32 | ||||||||
|
exec заменяет текущий процесс - после него нет возврата(кроме как при ошибке) единственный способ породить новый процесс - "клонировать" себя - сделать fork Реальное копирование происходит только при изменении - оптимизация CoW Не по теме: Вспоминается использование fork в одной БД(Reddis вроде) для создания "моментального" снимка памяти с последующим сохранением на диск При форке нужно проверять возвращаемое значение. Возможны ситуации: успех - "родитель" получает pid "ребенка", дочерний процесс - ноль провал - родительский процесс остается, "ребенок" не создан.
1
|
||||||||
|
|
|||
| 20.04.2018, 22:33 [ТС] | |||
|
Добавлено через 45 секунд А как например при таком перенаправить вывод? Кроме того где-то читал что fork не на всех система поддерживается, насколько это так?
0
|
|||
|
|
|||
| 21.04.2018, 10:14 [ТС] | |||
|
Добавлено через 51 секунду
Кроме того учитывая что в наше время приложения как правило многопоточные.
0
|
|||
|
5 / 5 / 6
Регистрация: 24.01.2016
Сообщений: 67
|
|
| 21.04.2018, 10:19 | |
|
boost :: process, все есть: ждать завершения, убить, получить id, перенаправления покотов вводы-вывода. Все асинхронно, просто и интуитивно понятно.
0
|
|
|
|
|
| 21.04.2018, 10:45 [ТС] | |
|
Тогда уже лучше Qt.
Но я спрашиваю про системные ф-ции. То что есть такие реализации во фреймворках говорит про то что есть и соответств. ф-ции. Вероятно стоит будет накрайний случай заглянуть внутрь.
0
|
|
|
4083 / 2681 / 432
Регистрация: 09.09.2017
Сообщений: 11,932
|
||||||||||
| 21.04.2018, 11:15 | ||||||||||
Если нужно не перенаправить вывод в файл, как в примере, можно воспользоваться pipe() и перенаправить ввод-вывод обратно в родителя. Добавлено через 7 минут
0
|
||||||||||
|
|
||
| 21.04.2018, 11:41 [ТС] | ||
|
А если мне не нужен файл?
Добавлено через 49 секунд Добавлено через 8 минут Хотя смотрю исходники QProcess (Qt), действительно там используется fork и exec
0
|
||
|
4083 / 2681 / 432
Регистрация: 09.09.2017
Сообщений: 11,932
|
|||
| 22.04.2018, 10:15 | |||
|
0
|
|||
|
|
||||
| 22.04.2018, 10:30 [ТС] | ||||
|
0
|
||||
|
4083 / 2681 / 432
Регистрация: 09.09.2017
Сообщений: 11,932
|
|||
| 22.04.2018, 14:58 | |||
|
0
|
|||
| 22.04.2018, 14:58 | |
|
Помогаю со студенческими работами здесь
20
CreateProcess CreateProcess CreateProcess CreateProcess CreateProcess Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20%
kYBz3eJf3jQ
|
Дальние перспективы сервера - слоя сети с космологическим дизайном интефейса карты и логики.
Hrethgir 07.04.2026
Дальнейшее ближайшее планирование вывело к размышлениям над дальними перспективами. И вот тут может быть даже будут нужны оценки специалистов, так как в дальних перспективах всё может очень сильно. . .
|
Горе от ума
kumehtar 07.04.2026
Эта мне ментальная установка, что вот прямо сейчас, мол, мне для полного счастья не хватает (нужное вписать), и когда я этого достигну - тогда и полный кайф. Одна из самых сильных ловушек на пути. . . .
|
Использование значений реквизитов справочника в документе, с определенными условиями и правами
Maks 07.04.2026
1. Контроль срока действия договора
Алгоритм из решения ниже реализован на примере нетипового документа "ЗаявкаНаРаботу", разработанного в конфигурации КА2.
Задача: уведомлять пользователя, если. . .
|
|
Доступность команды формы по условию
Maks 07.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2.
Задача: сделать доступной кнопку (команда формы "ЗавершитьСписание") при. . .
|
Уведомление о неверно выбранном значении справочника
Maks 06.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "НарядПутевка", разработанного в конфигурации КА2.
Задача: уведомлять пользователя, если в документе выбран неверный склад. . .
|
Установка Qt Creator для C и C++: ставим среду, CMake и MinGW без фреймворка Qt
8Observer8 05.04.2026
Среду разработки Qt Creator можно установить без фреймворка Qt. Есть отдельный репозиторий для этой среды: https:/ / github. com/ qt-creator/ qt-creator, где можно скачать установщик, на вкладке Releases:. . .
|
AkelPad-скрипты, структуры, и немного лирики..
testuser2 05.04.2026
Такая программа, как AkelPad существует уже давно, и также давно существуют скрипты под нее. Тем не менее, прога живет, периодически что-то не спеша дополняется, улучшается. Что меня в первую очередь. . .
|