Форум программистов, компьютерный форум, киберфорум
C/С++ под Linux
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.70/40: Рейтинг темы: голосов - 40, средняя оценка - 4.70
Эксперт С++
 Аватар для Avazart
8489 / 6156 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30

Аналог CreateProcess()

18.04.2018, 11:40. Показов 8894. Ответов 49
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Есть ли в Linux полноценный аналог виндовой CreateProcess().
Я искал, есть разные ф-ции для работы с подпроцессами, но все они как-то предоставляют только те или иные возможности.
Хотелось бы получать id, работать с перенаправлением вывода - пайпами, возможности ждать завершения процесса, возможности убить процесс итп.

Что наиболее близко к по ф-ционалу CreateProcess() ?
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
18.04.2018, 11:40
Ответы с готовыми решениями:

CreateProcess с совместимостью Win95 (програмно)
Странный, возможно кому-то покажется что даже идиотский вопрос: как програмно установить параметрами запуска процесса совместимость с...

кроссплатформенный аналог WinApi функций (CreateProcess)
Всем привет! Есть ли готовое решение для вызова исполняемого файла(в WinAPI это CreateProcess) в разных OS? Добавлено через 15 часов...

CreateProcess()
Доброго времени суток! Делаю лабу по Операционным системам, и столкнулся с некоторыми трудностями. Вот часть задания: Разработать и...

49
Эксперт С++
 Аватар для Avazart
8489 / 6156 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
24.04.2018, 11:05  [ТС]
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от COKPOWEHEU Посмотреть сообщение
Вообще-то очевидно обратное - что ни у кого не работает.
У кого именно не работает кроме Вас?

Добавлено через 2 минуты
Цитата Сообщение от COKPOWEHEU Посмотреть сообщение
Обновление != поломка совместимости.
Еще как... если Вы будите свою и убунту или какой то диструбутив, то со временем не сможете ничего установить.
Кроме того иногда обновляют ядро после, чего отпадаю по неведомым причинам некоторые программы.

Добавлено через 2 минуты
Цитата Сообщение от COKPOWEHEU Посмотреть сообщение
Бла-бла-бла. Что там на счет показать свою версию?
Версию чего?
0
Заблокирован
24.04.2018, 11:09
Цитата Сообщение от Avazart Посмотреть сообщение
pipe(), fork(), dup(),exec().
даже ссылку не кинули...
Ты, право, издеваешься... Пишем в консоли man 2/3 <имя функции>. Вот тебе и ссылка. Ну, это ладно. Самое забавное, что в man 2 pipe даже сэмпл есть. То есть, достаточно скопировать код из стандартного мана и просто разобраться.
0
Эксперт С++
 Аватар для Avazart
8489 / 6156 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
24.04.2018, 11:15  [ТС]
Это вы издеваетесь над собой читая ман из консоли ...
Я уже не говорю что сейчас сижу под виндой.
0
 Аватар для COKPOWEHEU
4150 / 2728 / 433
Регистрация: 09.09.2017
Сообщений: 12,095
24.04.2018, 20:56
Цитата Сообщение от Avazart Посмотреть сообщение
У кого именно не работает кроме Вас?
А у кого работает? В интернете за разумное время примеров найти не удалось, тут на форуме только Ygg рискнул настолько глубоко полезть в msdn.
Цитата Сообщение от Avazart Посмотреть сообщение
Еще как... если Вы будите свою и убунту или какой то диструбутив, то со временем не сможете ничего установить.
Кроме того иногда обновляют ядро после, чего отпадаю по неведомым причинам некоторые программы.
Вот когда возникнут проблемы тогда и говорите. Я такого пока не встречал. Более-менее актуальные программы поддерживают чтобы они работали на современных версиях. Не обязательно производитель.
Цитата Сообщение от Avazart Посмотреть сообщение
Версию чего?
анализа msdn, книги или еще чего. Вы утверждаете что Убежденный привел конкретные советы по работе с каналами.
Цитата Сообщение от Avazart Посмотреть сообщение
Это вы издеваетесь над собой читая ман из консоли ...
Вы просто издеваетесь над собой, НЕ делая этого. Похоже, виндузятники все мазохисты... предпочитают искать кряки и превозмогать вирусы, предпочитают рыться в недрах msdn'а вместо нормальных man'ов.
Кстати, помимо man'а есть еще info, для него есть графические интерфейсы.
Цитата Сообщение от Avazart Посмотреть сообщение
Я уже не говорю что сейчас сижу под виндой.
достаточно ввести в гугль ту же самую команду man <что-то там> с 90% вероятностью первой же ссылкой будет ман.
0
Эксперт С++
 Аватар для Avazart
8489 / 6156 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
24.04.2018, 21:30  [ТС]
Цитата Сообщение от COKPOWEHEU Посмотреть сообщение
А у кого работает? В интернете за разумное время примеров найти не удалось, тут на форуме только Ygg рискнул настолько глубоко полезть в msdn.
Тот кто Вам дал совет вы не послушали еще и проявили не уважение, ясное дело что других людей тоже желание отпало Вам помогать.

Добавлено через 55 секунд
Цитата Сообщение от COKPOWEHEU Посмотреть сообщение
Вот когда возникнут проблемы тогда и говорите.
А я и говорю. Если не обновлять систему все катится к чертям.

Добавлено через 2 минуты
Цитата Сообщение от COKPOWEHEU Посмотреть сообщение
анализа msdn, книги или еще чего. Вы утверждаете что Убежденный привел конкретные советы по работе с каналами.
Нет он Вам указал на вполне конкретные ошибки, причем детские.
0
 Аватар для COKPOWEHEU
4150 / 2728 / 433
Регистрация: 09.09.2017
Сообщений: 12,095
25.04.2018, 03:14
Цитата Сообщение от Avazart Посмотреть сообщение
Тот кто Вам дал совет вы не послушали еще и проявили не уважение, ясное дело что других людей тоже желание отпало Вам помогать.
С чего бы проявлять уважение после таких высокомерных и бесполезных высказываний (советами назвать язык не поворачивается)?
Цитата Сообщение от Avazart Посмотреть сообщение
А я и говорю. Если не обновлять систему все катится к чертям.
Ох уж эти теоретики... Если программа написана по стандартам, она должна работать на всех системах, поддерживающих эти стандарты. Если используются ввод-вывод на stdio, он будет работать везде где есть компилятор Си. Если система заявляет совместимость с POSIX, можно безбоязненно использовать функции оттуда. Но вот если поменялась архитектура системы, программы, полагающиеся на это, могут поломаться.
Цитата Сообщение от Avazart Посмотреть сообщение
Нет он Вам указал на вполне конкретные ошибки, причем детские.
Ты научишься читать или нет?! В третий раз повторяю: то что там есть ошибки я и так знаю. Это было написано в первом посте той темы. Именно констатация очевидного БЕЗ советов по исправлению снижают уважение. Ну вот не знает он как сделать правильно, так лучше с умным видом промолчать, чем тыкать общеизвестными ссылками, а потом обижаться что бесполезные посты называют бесполезными.
.
Ладно, обсуждение личных качеств меня или Убежденного неинтересно. Повторяю более конструктивный вариант. Если считаете что его советы не были бесполезными, воспользуйтесь ими, доведите программу до конца. Опять же повторяю: в отличие от вас, я не халявщик и не требую готового кода: устроит ответ по образцу из поста 32 или экзешник. Впрочем, я и так знаю какой будет результат...
0
Эксперт С++
 Аватар для Avazart
8489 / 6156 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
25.04.2018, 09:56  [ТС]
Цитата Сообщение от COKPOWEHEU Посмотреть сообщение
Если считаете что его советы не были бесполезными, воспользуйтесь ими, доведите программу до конца.
Мм, я не помогаю халявщикам )))
И тем более хамам ....

Кроме того у Вас там гавнокод, куда его доводить? Его выкидывать надо и переписывать с нуля.


И если не заметили я кидал ссылку на гитхаб на свою реализацию процесса и пайпов под винду.

Добавлено через 54 секунды
Цитата Сообщение от COKPOWEHEU Посмотреть сообщение
Ох уж эти теоретики...
А это практика,никакой теории.

Добавлено через 1 минуту
Цитата Сообщение от COKPOWEHEU Посмотреть сообщение
то что там есть ошибки я и так знаю.
Ии ? Ошибки нужно исправлять, Вы же гордитесь видимо наличием ошибок.
Вам четко указали нужно проверять коды возвратов ф-ций Вы это сделали?
Нет.

Добавлено через 18 минут
Цитата Сообщение от COKPOWEHEU Посмотреть сообщение
чем тыкать общеизвестными ссылками,
А книги тоже бесполезные?
Вам указали на одну из хороших книг вот вам вторая -
Рихтер, Кларк "Программирование серверов под Windows" страница 24 (~37 в djvu)
0
 Аватар для COKPOWEHEU
4150 / 2728 / 433
Регистрация: 09.09.2017
Сообщений: 12,095
25.04.2018, 10:51
Цитата Сообщение от Avazart Посмотреть сообщение
Мм, я не помогаю халявщикам )))
И тем более хамам ....
И почему я не удивлен - ни слова по существу, только оскорблять собеседников горазд.
Цитата Сообщение от Avazart Посмотреть сообщение
Кроме того у Вас там гавнокод, куда его доводить? Его выкидывать надо и переписывать с нуля.
И в третий раз повторяю: хотя бы экзешник с демонстрацией успешности приведите, мне безразлично мой будете использовать или свой с нуля напишете. Поскольку winapi не умеет в анонимные каналы, лучше два экзешника: один пишет в канал, второй читает. Пример вывода первого:
Code
1
2
3
4
write 20 bytes ('a'-'t') to '\\\\.\\pipe\\test_pipe': OK
write 20 bytes ('a'-'t') to '\\\\.\\pipe\\test_pipe': OK
write 20 bytes ('a'-'t') to '\\\\.\\pipe\\test_pipe': FAIL
write 20 bytes ('a'-'t') to '\\\\.\\pipe\\test_pipe': FAIL
второго:
Code
1
2
3
4
read 20 bytes from '\\\\.\\pipe\\test_pipe': FAIL
read 20 bytes from '\\\\.\\pipe\\test_pipe': OK ["abcdefghijklmnopqrst"]
read 20 bytes from '\\\\.\\pipe\\test_pipe': OK ["abcdefghijklmnopqrst"]
read 20 bytes from '\\\\.\\pipe\\test_pipe': FAIL
Если код давать не будете, помощью это не будет, а вот свою позицию подтвердите.
Цитата Сообщение от Avazart Посмотреть сообщение
Вам четко указали нужно проверять коды возвратов ф-ций Вы это сделали?
Нет.
Учимся читать:
Цитата Сообщение от COKPOWEHEU Посмотреть сообщение
Причем не удается поймать никаких ошибок что данные некорректны. И использование WriteFileEx с callback'ом на окончание записи, и структура OVERLAPPED говорят либо о том, что операция выполнена абсолютно успешно, либо абсолютно неуспешно.
Цитата Сообщение от COKPOWEHEU Посмотреть сообщение
Тоже проверял. 3-я операция записи (в примере из 3-го поста) операция тоже началась. Если используется WriteFileEx с callback-функцией и функциями ожидания SleepEx, эта функция вызывается, но на результат чтения не влияет.
и так далее.
.
Будете продолжать пустословить или перейдете наконец к конкретике?
0
Эксперт С++
 Аватар для Avazart
8489 / 6156 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
25.04.2018, 11:07  [ТС]
Цитата Сообщение от COKPOWEHEU Посмотреть сообщение
write 20 bytes ('a'-'t') to '\\\\.\\pipe\\test_pipe': FAIL
Что такое FAIL ?
Где Ваша пресловутая конкретика? Что там за код ошибки? Описание кода ошибки? Мм?

Добавлено через 5 минут
Цитата Сообщение от COKPOWEHEU Посмотреть сообщение
И в третий раз повторяю: хотя бы экзешник с демонстрацией успешности приведите, мне безразлично мой будете использовать или свой с нуля напишете. Поскольку winapi не умеет в анонимные каналы, лучше два экзешника: один пишет в канал, второй читает. Пример вывода первого:
Мм, Вы же понимаете что это называется "напишите за меня?".

Вот есть рабочие примеры:
https://github.com/Avazart/Bic... utPing.cpp
https://github.com/Avazart/Bic... rocess.cpp
Берите и разбирайте.
0
 Аватар для COKPOWEHEU
4150 / 2728 / 433
Регистрация: 09.09.2017
Сообщений: 12,095
25.04.2018, 13:54
Цитата Сообщение от Avazart Посмотреть сообщение
Что такое FAIL ?
Сообщение о том, что канал переполнен и запись невозможна. В случае чтения - что канал пуст. В обоих случаях программа не должна останавливаться, просто спамить ошибками.
Цитата Сообщение от Avazart Посмотреть сообщение
Мм, Вы же понимаете что это называется "напишите за меня?".
"Написать за меня" это привести код. Как мне может помочь скомпилированный экзешник? Вы же сами говорите что в той теме привели исчерпывающие рекомендации по написанию, значит воспользоваться ими должно быть несложно.
.
Сравните с решением основной задачи в этой теме: сразу указали на используемые функции (одна без параметров, вот у exec да, параметры немного неочевидные). Потом, при попытке реализовать базовый функционал (а ваша задача - именно базовый функционал любой уважающей себя ОС), оказалось что не все так очевидно: exec и dup2 лично у меня сразу не заработали, поэтому посмотрел в инете как оно делается (первая же ссылка, могли бы и сами ее найти!). Но раз проблемы возникли у меня как "гуру, решившего показать свое кунг-фу", выложил весь код. А вот с pipe наоборот: сначала описал алгоритм на форуме, потом проверил в коде - сошлось, поэтому, а также потому что добавляется 6 тривиальных строчек кода, понадеялся что вы все-таки примените мозг по назначению. Как оказалось, зря...
Цитата Сообщение от Avazart Посмотреть сообщение
Берите и разбирайте.
Именно сейчас, где-то до июля, может и дольше, глубоко вникать в такие темы времени не будет. А по приведенной ссылке на первый взгляд разбираться надо долго: там куча зависимостей файлов друг на друга.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
25.04.2018, 13:54

CreateProcess
Доброго времени суток. Студия 15. Виндовс форм. Создается процесс &quot;CreateProcess&quot;. Все запускается, все работает. Но не могу вынести...

CreateProcess
Помогите запустить программу вывода дерева каталогов через CreateProcess CreateProcess: #include &lt;windows.h&gt; #include...

CreateProcess
Такая трабла - человечек попросил сделать лабу - там процессы . начал искать решение - нашел вполне понятную функцию fork... но только она...

CreateProcess
Здравствуйте! Как запустить страницу в браузере через CreateProcess? Вот так CreateProcess(ExeFile.c_str(),sPar.c_str(), NULL, NULL,...

CreateProcess
У меня несколько вопросов по CreateProcess 1) как с помощью CreateProcess перенаправить ввод/вывод программы? 2) как узнать какой код...


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

Или воспользуйтесь поиском по форуму:
50
Ответ Создать тему
Новые блоги и статьи
Особенности gif сгенерированных в Си
russiannick 21.10.2026
Рассмотрим генерацию gif файлов, которые в Си имеют свои особенности. Gif представляет собой графический формат популярный в интернете. Посмотрим на палитру. Gif файл сгенерированный в си отличается. . .
FPS контроллер с анимированными Y-Bot и 3D-звуком miniaudio (Box3D, Recast, BehaviorTree.CPP, ozz-animation, ImGui, OpenGL и SDL3)
8Observer8 18.10.2026
Содержание блога | English Version Полное мультиплатформенное руководство по стартовому проекту с FPS-контроллером игрока, анимированными роботами Y-Bot с 4-слойным блендингом, 3D-физикой Box3D,. . .
Локальный http сервер
Argus19 17.10.2026
Локальный http сервер На работе, на двух локальных компьютерах круглосуточно работают программы опроса приборов с записью в книги Excel,которые раз в сутки записываются на сервер компании. Т. к. . . .
Копировать Windows на новый диск на UEFI
damix 17.10.2026
https:/ / uriesk. wordpress. com/ 2016/ 11/ 01/ move-window-10-to-ssd-on-a-uefi-dualboot-system-with-basic-linux-tools/ TL DR Вставляем диск, а старый подключаем через переходник, грузимся с лайва. . .
ИИ не может найти нужный язык в списке
Supersumestria 05.10.2026
Я ему даю вот такое изображение и прошу найти и подчеркнуть немецкий язык. Возвращает он вот это: https:/ / i. **********/ vqBWLe2. png Нужную строчку в 3й колонке просто выдумал. . Это. . .
Новая последняя моя музыка в SUNO
zorxor 05.10.2026
Здравствуйте, дорогие мои друзья! С большой радостью я хотел бы представить вам свою новую последнею музыку, которую сгенерировала мне по моей просьбе нейросеть SUNO. С уважением, zorxor. Это. . .
Программный домашний кинотеатр
russiannick 27.09.2026
Сподобился на программный домашний кинотеатр. В качестве ЯВУ по традиции выбрал js. В помощники взял Яндекс-Алису. Было создано три зала на разные интересы. исторические и ретро сериал Хичкок. . .
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru