The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Вариант для распечатки  
Пред. тема | След. тема 
Форум Программирование под UNIX (Shell скрипты)
Режим отображения отдельной подветви беседы [ Отслеживать ]

Оглавление

Параллельное исполнение в bash, Аноним (0), 08-Окт-20, (0) [смотреть все]

Сообщения [Сортировка по времени | RSS]


17. "Параллельное исполнение в bash"  +/
Сообщение от pavel_simple. (?), 09-Окт-20, 19:23 
> Это заявка на победу, я думаю, стоит уже взять parallel в таком
> случае. Но мне хотелось бы решить это без perl. Я могу
> всё это сделать красиво в python, там и ipc есть нормальный,
> и самые разные варианты запускать процессы, но задача обойтись средствами баша.
> Собственно, в ОП перечислен алгоритм моего питон однострочника запускающего окно и
> направляющего выводы youtube-dl в него. Там проблема, что он запускался только
> под conemu, а мне сейчас нужно что-то более универсальное (хотя вариант
> с konsole готов рассмотреть, хотелось бы переключать на соседний таб с
> разделением на области, но, полагаю, принудительный запуск дополнительного окна с tmux
> тоже не плохой вариант).

xargs + screen/tmux

Ответить | Правка | Наверх | Cообщить модератору

18. "Параллельное исполнение в bash"  +/
Сообщение от Аноним (0), 09-Окт-20, 19:49 
> xargs + screen/tmux

Я вспомнил, чем мне не подошёл этот вариант. Там вроде бы можно было только отправлять команду на исполнение в панели, т.е. запуск новых процессов нонстоп (это то, что я использовал в конечном итоге, но тут это не подходит, хотя и можно набросать отдельный однострочник, запускающий этот скрипт -- мне как раз хотелось отказаться от по-файлового исполнения, слишком много времени на запуск уходит, особенно на "нелинуксе"). Либо добавлять текст (вывод) в панель уже после завершения, но нельзя было прицепить stderr/stdout/stdin запущенного процесса (и его потомков) к панели tmux и переключать его на вывод следующего процесса после завершения первого.

Ответить | Правка | Наверх | Cообщить модератору

19. "Параллельное исполнение в bash"  +/
Сообщение от Аноним (0), 09-Окт-20, 20:06 
В связи с чем вопрос. Можно ли как-то подцепить вывод форка себя (и автоматом всех потомков форка) к шеллу, запущенному в панели tmux?
Ответить | Правка | Наверх | Cообщить модератору

20. "Параллельное исполнение в bash"  +/
Сообщение от Аноним (0), 09-Окт-20, 20:37 
> В связи с чем вопрос. Можно ли как-то подцепить вывод форка себя
> (и автоматом всех потомков форка) к шеллу, запущенному в панели tmux?

Так, допустим, можно перенаправить все три потока для каждого процесса в именованные трубы (не проверял ввод, но вывод определённо будет работать), т.е. нам как минимум всё ещё необходимо сохранить список дочерних процессов (может и работать, при условии, что те не будут рекурсивно форкать себя и терять потомков), но мы всё ещё подвержены состояниям гонки и неадекватной реакции на сигналы. Тут тут возникает вопрос с тем, что tmux сам по себе и он может обидеться, когда мы начинаем взаимодействовать с шеллом в обход него, т.е. у tmux надо как-то отнять контроль над выводом (вводом) запущенных им шеллов.

Ответить | Правка | Наверх | Cообщить модератору

21. "Параллельное исполнение в bash"  +/
Сообщение от Аноним (0), 09-Окт-20, 21:01 
Форк ведь может переопределить дескрипторы для себя? Это никак не должно затрагивать родительский процесс.
Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру