Вот мой сценарий: Я пытаюсь автоматизировать некоторые задачи с помощью Paramiko. Задачи должны быть запущены в этом порядке (использующий нотацию (хост, задача)): (A, 1), (B, 2), (C, 2), (A, 3), (B, 3) - чрезвычайно стартовые серверы и клиенты для некоторого тестирования в правильном порядке. Далее, потому что в тестовых сетях может быть испачкан, и потому что мне нужна часть вывода от тестов, я хотел бы просто перенаправить вывод в файл.
В подобных сценариях распространенный ответ должен использовать 'экран-m-d' или использовать 'nohup'. Однако с exec_cmd paramiko, nohup на самом деле не выходит. Используя:
bash -c -l nohup test_cmd &
не работает также, exec_cmd все еще блоки для обработки конца.
В экранном случае перенаправление вывода не работает очень хорошо, (на самом деле, не работает во всем самом лучшем, что я могу выяснить).
Так, после всего этого объяснения мой вопрос: существует ли легкий изящный способ отсоединить процессы и вывод получения таким способом как для окончания блокирования exec_cmd paramiko?
Обновление
Команда dtach работает приятно на это!
Компилятор и процессор реализуют алгоритмы, обеспечивающие сохранение последовательной семантики для данного потока выполнения. Для них, чтобы не реализовать указанные алгоритмы квалифицируется как ошибка. Можно с уверенностью предположить, что переупорядочивание команд не повлияет на семантику программы.
Как отмечалось в другом месте, память - это единственное место, где может возникнуть непоследовательная семантика; синхронизация с последовательностями может быть получена там с помощью различных известных механизмов (на уровне сборки имеются команды доступа к атомной памяти; функции более высокого уровня, такие как мутексы, барьеры, spinlocks и т.д., реализованы с инструкциями по атомной сборке).
В ответ на Ваше название: Вы не обрабатываете выполнение OOO.
-121--2579283-document.documentMode не определен, если браузер не IE8,
он возвращает 8 для стандартного режима и 7 для «compatable to IE7»
Если он работает как IE7, существует множество функций css и dom, которые не будут поддерживаться.
-121--726392- Я ничего не знаю о парамико и это exec_cmd, но, возможно, bash
откреститься
может помочь.
#!/bin/bash -l
test_cmd &
disown test_cmd