Я написал zsh скрипт, который запускает много сеансов экрана и запускает разные команды в каждом из них. Когда сценарий выполняется, в общей сложности появляется 72 экрана, поэтому проверка, завершено ли job вручную или нет, является огромной трудоемкой задачей. Могу ли я запустить какой-то отдельный скрипт, который будет проверять, есть ли на сеансах экрана запущенные задания или нет, и убивать сеанс, когда нет запущенных заданий. Есть ли у вас какие-либо идеи? Я не мог придумать ни одного метода, чтобы надежно проверить, что произошло во всех сеансах экрана, спасибо заранее.

1 ответ1

1

Я мог бы представить, что функция вывода журнала на экран может помочь Вам в этом (подробности см. На странице руководства). Вы можете создать выходные журналы ваших сессий и проверить их, чтобы увидеть, завершены ли ваши работы.

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .