|
|
|
Аналог CreateProcess()18.04.2018, 11:40. Показов 8535. Ответов 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,928
|
|||
| 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,928
|
||||||||||
| 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,928
|
|||
| 22.04.2018, 10:15 | |||
|
0
|
|||
|
|
||||
| 22.04.2018, 10:30 [ТС] | ||||
|
0
|
||||
|
4083 / 2681 / 432
Регистрация: 09.09.2017
Сообщений: 11,928
|
|||
| 22.04.2018, 14:58 | |||
|
0
|
|||
| 22.04.2018, 14:58 | |
|
Помогаю со студенческими работами здесь
20
CreateProcess CreateProcess CreateProcess CreateProcess CreateProcess Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Перемещение выделенных строк ТЧ из одного документа в другой
Maks 30.03.2026
Реализация из решения ниже выполнена на примере нетипового документа "ВыдачаОборудованияНаСпецтехнику" с единственной табличной частью "ОборудованиеИКомплектующие" разработанного в конфигурации КА2. . . .
|
Functional First Web Framework Suave
DevAlt 30.03.2026
Sauve. IO
Апнулись до NET10.
Из зависимостей один пакет, работает одинаково хорошо как в режиме проекта
так и в интерактивном режиме. из сложностей - чисто функциональный подход.
Решил. . .
|
Автоматическое создание документа при проведении другого документа
Maks 29.03.2026
Реализация из решения ниже выполнена на нетиповых документах, разработанных в конфигурации КА2.
Есть нетиповой документ "ЗаявкаНаРемонтСпецтехники" и нетиповой документ "ПланированиеСпецтехники".
В. . .
|
Настройка движения справочника по регистру сведений
Maks 29.03.2026
Решение ниже реализовано на примере нетипового справочника "ТарифыМобильнойСвязи" разработанного в конфигурации КА2, с целью учета корпоративной мобильной связи в коммерческом предприятии.
. . .
|
|
Автозаполнение реквизита при выборе элемента справочника
Maks 27.03.2026
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2.
При выборе "Спецтехники" (Тип Справочник. Спецтехника), заполняется. . .
|
Сумматор с применением элементов трёх состояний.
Hrethgir 26.03.2026
Тут.
https:/ / fips. ru/ EGD/ ab3c85c8-836d-4866-871b-c2f0c5d77fbc
Первый документ красиво выглядит, но без схемы.
Это конечно не даёт никаких плюсов автору, но тем не менее. . . всё может быть. . .
|
Автозаполнение реквизитов при создании документа
Maks 26.03.2026
Программный код из решения ниже размещается в модуле объекта документа, в процедуре "ПриСозданииНаСервере".
Алгоритм проверки заполнения реализован для исключения перезаписи значения реквизита,. . .
|
Команды формы и диалоговое окно
Maks 26.03.2026
1. Команда формы "ЗаполнитьЗапчасти".
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2.
В качестве источника данных. . .
|