Как продолжение этого вопроса, я хотел бы знать, где STDOUT и STDERR программы, на которой я работал disown -h
перенаправляется к.
disown
не изменяет программы STDOUT/ERR. Они все еще перейдут в то, везде, где Вы перенаправили их (использование >
и т.д.). Если Вы не перенаправили их, они продолжат входить в терминал, Вы запустили программу от (пока Вы не закроете тот терминал, в этом случае они будут отброшены).
Для иллюстрирования выполните это в терминале:
bash -c 'while true; do sleep 1; echo hi; done' &
Это будет печатать "привет" каждую секунду (и раздражать Вас ужасно ;-)). Если Вы disown
программа после запускается, "привет" s только продолжится. Необходимо найти PID оболочки (использование, например, PS) и уничтожить его, чтобы заставить его остановиться.
Править:
На основе комментариев возможно, то, что Вы действительно хотите сделать, должно восстановить вывод программы после Вас disown
редактор это и закрытый терминал это работало в. Это объяснено в этом вопросе: после совершения удаленный nohup с tcsh (благодаря шарлатану quixote).