Могу ли я записать ISO-образ Linux на внешний диск из MBP и загрузить его напрямую с того же или другого MBP?

Я добавил код, чтобы :

  • это работает для ваших трех примеров и
  • Взаимодействие предшествует ожиданию.
  • interact() {
        pid=$1
        ! ps -p $pid && return
        ls -ld /proc/$pid/fd/*
        sleep 5; kill -1 $pid   # TEST SIGNAL TO PARENT
    }
    
    run() {
        exec {in}<&0 {out}>&1 {err}>&2
        { coproc "$@" 0<&$in 1>&$out 2>&$err; } 2>/dev/null
        exec {in}<&- {out}>&- {err}>&-
        { interact $! <&- >/tmp/whatever.log 2>&1& } 2>/dev/null
        fg %1 >/dev/null 2>&1
        wait 2>/dev/null
    }
    

    fg %1будет работать для всех команд (изменить %1по мере необходимости для параллельных заданий )и при нормальных обстоятельствах произойдет одно из двух :

  • Если команда завершится немедленно, interact()немедленно вернется, так как делать нечего, и fgничего не сделает.
  • Если команда не завершается немедленно, interact()может взаимодействовать (, например. отправить HUP сопроцессу через 5 секунд ), и fgпереведет сопроцесс на передний план, используя тот же стандартный ввод/вывод/ошибку, с которым он был первоначально запущен (, вы можете проверить это с помощьюls -l /proc/<pid>/df).
  • Перенаправления на /dev/null в последних трех командах носят косметический характер. Они позволяют run <command>выглядеть точно так же, как если бы вы запустили commandотдельно.

    0
    08.07.2020, 18:24
    0 ответов

    Теги

    Похожие вопросы