Отменить команду команды за t секунд

Я работаю над некоторыми сценариями пакета, включающими следующее:

  • Запустите некоторые не-завершающие подпроцессы (асинхронно)
  • Подождите t секунд
  • Выполните другую задачу X в течение некоторого времени
  • Завершить подпроцессы

В идеале я хотел бы отличать выходы субпроцессов, которые были испущены до X, от того, что было выпущено после X.

Несколько идей приходят на ум, хотя я понятия не имею, как я их реализую:

  • Отменить stdout за t секунд
  • Вставьте некоторый текст (например, «Запуск задачи X»), чтобы визуально отделить разделы
  • Разделить stdout на различные выходные потоки

One Solution collect form web for “Отменить команду команды за t секунд”

Хотя вы можете усложнить этот вопрос с помощью exec и дополнительных попыток дескриптора файла , ваше второе предложение является самым простым. Перед запуском X echo строку маркера в файл журнала.

Все эти команды будут добавляться к одному и тому же файлу, поэтому, возможно, было бы неплохо добавить весь вывод X с маркером, чтобы вы могли отличить его от одной из предыдущих команд. Что-то вроде:

 { X; } | sed 's,^,[X say] ,' 

Это значительно облегчило бы дальнейший анализ. Это не безопасно и для очень многословных программ, условия гонки часто бывают.

Если вы захотите воспользоваться возможностью ломать одну строку журнала и можете прервать первую партию приложений без последствий, это тоже сработает:

 { Y; } >> log & sleep $t kill -STOP %% # last job, like the same as %1 echo -e "\nX started" >> log kill -CONT %% { X; } >> log2 
  • Как я могу ограничить скорость вывода stdout?
  • Вызовите фоновый процесс обратно на stdout
  • Перенаправить stderr из уже запущенного скрипта
  • Убейте процесс, если он успокоится в течение определенного времени
  • Возможно ли создать липкое перенаправление из stdout / stderr
  • Убедитесь, что stdout подключен к терминалу из сценария AWK
  • Уведомление слушателя, странное поведение
  • Вывод скрипта python, выполняющегося как единица, не соответствует порядку, в то время как оболочки не отображаются
  • Как перенаправить вывод tarsnapper в / dev / null?
  • Чтение stdout / stderr из подоболочки в родительский
  • Не удалось перенаправить stdout / stderr в файл журнала
  • Interesting Posts

    После git, папок и файлов

    Не удалось выполнить атомарную инициализацию SQLite с ошибкой Subversion на Eclipse

    Отправка двоичных данных в get ()

    Как настроить такую ​​функцию, чтобы я всегда мог использовать SSH для моей системы через Интернет на динамическом IP-адресе?

    Сетевой интерфейс инициализирован, но не включен при вставке ключа USB 3g (Intel Edison)

    Избегайте раздувания размера файла при удалении OCRed текста из файла pdf?

    POSIX-совместимый / кросс-shell-способ для получения версии запущенной оболочки?

    Ввод расширенных значений ascii

    Что ограничивает использование моего процессора в разветвленных процессах?

    Переменная среды не расширена внутри аргумента командной строки

    Печатать строки, в которых первое поле имеет только четыре символа, используя регулярное выражение в awk?

    Емкость ввода текста?

    Проблема с конфигурацией Apache2?

    Как остановить перенаправление в bash

    Есть ли инструмент для получения строк в одном файле, которые не находятся в другом?

    Linux и Unix - лучшая ОС в мире.