nohup в нынешних шеллах бесполезен, баш и так не отправляет сигхап дочерним процессам при выходе.
Другой вопрос, что приложения ассоциированы с pts, который уничтожается в момент закрытия эмулятора терминала, и с этим беда: приложение умрет при попытке написать что-то в stdout/stderr или прочитать из stdin. Но пока процесс этого не делает, он будет жить до конца времён.
Теперь по поводу бэкграунда. gdb позволяет приаттачиться к процессу, закрыть у него fd (0, 1, 2) и открыть новые, например, в /dev/null.
А gdb позволяет процессу прописать новый PPID? И если да, то как? А то тут у человека древняя центось, без системды и у него сироты иногда буянят.