есть скрипт (так скажем ядро), - запускается и в нем выполняется очень важный цикл, который нельзя ни в коем случае прерывать. но в этот скрипт я очень часто вношу изменения, поэтому вариант сохранить-выключить-включить не подходит. я уж собрался было вынести все в «модули», то есть что-то вроде:
# загружаем модуль при запуске скрипта
source "raw.sh"
# при нажатии ^C модуль перезагружается
trap "source raw.sh" SIGINT
# цикл, который нельзя прерывать
# команда raw является функцией в модуле - в ней изменяемый код
while true; do raw ...; done
но такой финт не работает. может вы знаете другие способы вынести модифицируемый код в отдельное место, которое можно перезагружать и не останавливать выполнение основного скрипта?
можно конечно raw вообще сделать отдельным файлом и процессом, каждый раз просто перезапуская его, а не выполняя как функцию, но это будет чуть менее чем ресурсоемко (порождать новый процесс на каждый пук в цикле).