Вариант для распечатки |
Пред. тема | След. тема | ||
Форум Программирование под UNIX (Shell скрипты) | |||
---|---|---|---|
Режим отображения отдельной подветви беседы | [ Отслеживать ] |
Оглавление |
Сообщения | [Сортировка по времени | RSS] |
4. "Параллельное исполнение в bash" | +/– | |
Сообщение от Аноним (0), 08-Окт-20, 21:10 | ||
Мне нужен раздельный вывод (т.е. табы или разделить одно окно и пулять выхлоп каждого процесса раздельно), мне нужно произвольное число процессов (по числу ядер). Это основное. Если синхронизация только в родительском процессе, нужно контролировать статус фоновых процессов и опционально управлять ими посредством сигналов (достаточно будет получить код завершения, текстовый ipc через фс я уже сделал и тут мне не нужно передавать данные между процессами). Управление фоновыми процессами через job/wait показалось мне очень не надёжным, как пример, после завершения родителя порождённые процессы не спешат умирать и нет никакой возможности узнать их пиды для убийства (я решил этот вопрос, но не совсем так, как хотелось бы), постоянные проблемы с состоянием гонки и синхронизацией (необходимо это учитывать, если где-то в процессе исполнения возникла ошибка). | ||
Ответить | Правка | Наверх | Cообщить модератору |
5. "Параллельное исполнение в bash" | +/– | |
Сообщение от Аноним (0), 08-Окт-20, 21:32 | ||
Да, от файлов с выводом, который я буду читать в основном процессе, тоже хотелось бы отказаться в идеале, я правда не представляю как. | ||
Ответить | Правка | Наверх | Cообщить модератору |
6. "Параллельное исполнение в bash" | +/– | |
Сообщение от Аноним (1), 08-Окт-20, 22:36 | ||
Чтобы такое сделать, вам нужно книжку по шелл-скриптингу прочитать. На самом деле только научиться перенаправлять вывод. Например, ./run > file$x.out & | ||
Ответить | Правка | К родителю #4 | Наверх | Cообщить модератору |
8. "Параллельное исполнение в bash" | +/– | |
Сообщение от Аноним (0), 08-Окт-20, 22:43 | ||
Невозможно узнать идентификаторы потомков потомка, если только они сами не запишут их в какой-нибудь файл. Давайте по существу. И мне нужен выводу в реальном времени, а не после завершения. | ||
Ответить | Правка | Наверх | Cообщить модератору |
11. "Параллельное исполнение в bash" | +/– | |
Сообщение от Аноним (1), 09-Окт-20, 03:42 | ||
> Невозможно узнать идентификаторы потомков потомка, если только они сами не запишут их | ||
Ответить | Правка | Наверх | Cообщить модератору |
12. "Параллельное исполнение в bash" | +/– | |
Сообщение от Аноним (0), 09-Окт-20, 04:13 | ||
Извините, а где я кого-то учил? И из чего можно сделать выводы о моей компетенции? Вот о Вашей уже сложилось определённое мнение на основании ответов в данной теме. | ||
Ответить | Правка | Наверх | Cообщить модератору |
13. "Параллельное исполнение в bash" | +/– | |
Сообщение от Аноним (1), 09-Окт-20, 11:45 | ||
> Извините, а где я кого-то учил? | ||
Ответить | Правка | Наверх | Cообщить модератору |
15. "Параллельное исполнение в bash" | +/– | |
Сообщение от Аноним (0), 09-Окт-20, 19:05 | ||
> Ну вот же вы утверждаете, что нельзя узнать пид, если он не | ||
Ответить | Правка | Наверх | Cообщить модератору |
22. "Параллельное исполнение в bash" | +/– | |
Сообщение от Аноним (1), 09-Окт-20, 21:56 | ||
Пиды процессов внуков только через системные утилиты, работающие с процессами. | ||
Ответить | Правка | Наверх | Cообщить модератору |
23. "Параллельное исполнение в bash" | +/– | |
Сообщение от Аноним (0), 09-Окт-20, 22:32 | ||
Проблема в том, что "системные утилиты, работающие с процессами", не могут предоставить информации, не имеющейся у ядра. А сканирование всех процессов на предмет ближайшего предка (если он ещё не потерян!) -- это не самое лучшее решение, подверженное всё той же гонке и случайным плавающим багам. Все мои попытки передавать сигнал по цепочке завершились тем, что в одном случае из десяти (или ста), процессы их игнорировали и успешно демонизировались. Перепроектировать логику не получится. Если тот же sleep запущен, он будет продолжать висеть под инитом, пока его не убьют, или он не закончится сам. | ||
Ответить | Правка | Наверх | Cообщить модератору |
25. "Параллельное исполнение в bash" | +/– | |
Сообщение от Аноним (1), 12-Окт-20, 18:42 | ||
Выдумываете себе проблемы, чтобы потом героически их превозмогать. Сраному скрипту в кроне - нужны данные о процессах уровня ядра! Линукс Торвальдс должен срочно сделать новые апи, чтобы вы смоги решить свои задачи... | ||
Ответить | Правка | Наверх | Cообщить модератору |
26. "Параллельное исполнение в bash" | +/– | |
Сообщение от Аноним (0), 12-Окт-20, 19:19 | ||
Там задача была ждать данные в основном потоке и накапливать, валидировать, и сбрасывать на диск каждые N времени в дополнительном фоновом основываясь на ряде условий. Какой ещё крон? Использовать тут крон это напрашиваться на проблемы -- при убийстве скрипта некому будет его отключить. Полагаю, ваши скрипты очень грязные. | ||
Ответить | Правка | Наверх | Cообщить модератору |
9. "Параллельное исполнение в bash" | +1 +/– | |
Сообщение от Аноним (-), 08-Окт-20, 22:43 | ||
| ||
Ответить | Правка | К родителю #6 | Наверх | Cообщить модератору |
Архив | Удалить |
Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема |
Закладки на сайте Проследить за страницей |
Created 1996-2024 by Maxim Chirkov Добавить, Поддержать, Вебмастеру |