Я использую порт для запуска конвейера с несжатыми и некоторыми данными dd:
Port = open_port({spawn, "bzcat | sudo dd of=/dev/foo},
[stream, use_stdio, exit_status]),
То, что я хотел бы сделать, это создать на выходе выходную ситуацию, которая приводит к завершению конвейера и в конечном итоге к его завершению.
Я хотел бы дождаться этого завершения, а также захватить exit_status
.
Когда я просто звоню port_close
, мне кажется, что конвейер просто завершен, и ждать завершения не приходится. Также я не получаю exit_status
....
Как я могу выполнить ожидание выхода перед следующим шагом (для этого требуется, чтобы дд завершил).
Сделал несколько экспериментов, и похоже, что, по крайней мере, port_close
не убивает процесс, вы просто не узнаете, когда он закончится. Это правильно?