Если вы используете последнюю версию bash (Я думаю, что это было введено в bash 4 ), вы можете использовать wait -n
.
В противном случае вы можете передать wait
аргумент с pid запускаемого вами фонового процесса, который возвращается в $!
сразу после того, как вы это сделаете.
Дополнительную информацию о статусе возврата команды wait
см. в документации по команде ожидания .
Так и должно быть:
set -e
false &
wait -n
echo "lol"
И это тоже хорошо:
set -e
false &
background_pid=$!
wait "${background_pid}"
echo "lol"
Купите себе что-нибудь вроде макетной платы z80 и попробуйте что-нибудь выбить из последовательного порта или запустите эмулированный компьютер IBM с DOS и проделайте то же самое, используя DOS irq.
В старых машинах Z80 с отображаемым в памяти текстовым дисплеем легко отображать хотя бы текст.
Можно (с легкостью или немного сложнее или непрактично )делать подобные вещи, используя :ассемблер, Pascal, Ada, C (почему вы должны использовать для этого C++ ), BASIC и немало других языков, ожидайте МНОГО РАБОТЫ!
Для довольно современного процессора, который может поддерживать достаточный объем памяти, взгляните на MIPS2000 и его соотечественников (большой объем памяти, который легко обеспечивает прямой доступ к 512 МБ ОЗУ ), если вы хотите программировать в C/Assembler/Ada (я думаю, что Паскаль. )Я говорю это потому, что это семейство процессоров имеет довольно простую архитектуру памяти.
Проверьте исходники grub !
Если вас интересует, как загрузить программу (загрузчик )при загрузке, или ознакомьтесь с играми, -модифицированными grub, например, космическими захватчиками (клоном космических захватчиков, который работает на голом металл.)
Вы можете загрузить grub -захватчиков на виртуальной машине см. grub -захватчиков
То, как это работает, во многом зависит от архитектуры/машины. Linux (ядро )создает дерево, отображающее доступные устройства и их соединения при загрузке (и при появлении/исчезновении подключенных устройств ). Откуда поступает информация, зависит от базового оборудования.
Другие операционные системы, работающие на той же машине, будут делать это по-своему, если они должны быть очень переносимыми, они, вероятно, используют аналогичный подход.
Возиться с, например,. оригинальный ПК (или эмуляция )дает вам доступ к ряду фиксированных устройств, доступ к которым осуществляется определенным фиксированным(или почти )способом. Некоторые Unices, которые я имел удовольствие пасти, поставлялись с объектным кодом для системы, добавление/перенастройка устройств означало редактирование некоторых файлов C, перекомпиляцию и повторную компоновку ядра. Тонны веселья.