Мне нужно создать сценарий (ksh или perl), который запускает определенное количество параллельных заданий (другие сценарии), каждое из которых выполняется как процесс переднего плана в отдельном сеансе. Кроме того, я начинаю отслеживать задание, которое должно определить, ожидает ли какой-либо из этих сценариев ввода от оператора, и при необходимости переключаюсь на соответствующий сеанс. Моя проблема в том, что я не нашел хорошего способа определить, что процесс ожидает ввода. Для фонового процесса это довольно просто: состояние процесса «остановлено», и это можно легко проверить с помощью команды 'ps'. В случае переднего плана это не работает. До сих пор я пытался подключиться к процессу с помощью dbx или truss, чтобы увидеть, зависает ли он на «чтении», но этот подход кажется слишком тяжелым. Не могли бы вы предложить лучшее решение? Perl, shell, C, Java и т. Д.… Допустимы, если они являются стандартными и не требуют установки дополнительных сторонних или специфичных для ОС вещей.
Спасибо.