C nohup разобрался. Проверив вывод nohup.out, увидел там кучу ошибок.
Т.к. при создании процедуры использовался расширенный синтаксис, sh его не знает, необходимо в начало текста процедуры добавить ссылку на bash:
#!/bin/bash
while ((++i))
do
echo $i » file.txt
sleep 1
done
Ну и если я делаю просто pr1 &, то процесс переходит в фоновый режим, выходом из системы его не убить - разве что убив оболочку (наверное :))... Если запускать с nohup, при "перелогине" PPID =1 (init), TTY = ?