Могу ли я изменить имя `nohup.out`? - PullRequest
228 голосов
/ 29 декабря 2010

Когда я запускаю nohup some_command &, вывод переходит к nohup.out;man nohup говорит, что смотрит на info nohup, что в свою очередь говорит:

Если стандартный вывод является терминалом, стандартный вывод команды добавляется в файл 'nohup.out';если это невозможно записать, он добавляется в файл '$ HOME / nohup.out';и если это не может быть записано, команда не выполняется.

Но если у меня уже есть одна команда, использующая nohup с выводом, равным /nohup.out, и я хочу запустить другую, nohup команда, могу ли я перенаправить вывод на nohup2.out?

Ответы [ 4 ]

371 голосов
/ 29 декабря 2010
nohup some_command &> nohup2.out&

и вуаля.


Старый синтаксис для Bash версии <4: </p>

nohup some_command > nohup2.out 2>&1&
56 голосов
/ 14 мая 2014

По какой-то причине вышеупомянутый ответ не работал для меня;Я не вернулся в командную строку после запуска, как я ожидал с помощью завершающего символа &.Вместо этого я просто попытался с

nohup some_command > nohup2.out&

, и он работает так, как я хочу.Оставьте это здесь на случай, если кто-то другой окажется в такой же ситуации.Запуск Bash 4.3.8 для справки.

12 голосов
/ 21 ноября 2014

Поскольку обработчики файлов указывают на i-узлы (которые хранятся независимо от имен файлов) в системах Linux / Unix. Вы можете переименовать значение по умолчанию nohup.out в любое другое имя файла в любое время после запуска nohup something&.Также можно сделать следующее:

$ nohup something&
$ mv nohup.out nohup2.out
$ nohup something2&

Теперь something добавляет строки к nohup2.out и something2 к nohup.out.

9 голосов
/ 18 августа 2017

Приведенные выше методы удаляют данные вашего выходного файла всякий раз, когда вы запускаете команду nohup.

К Добавление вывода в определенный пользователем файл , вы можете использовать >> в команде nohup.

nohup your_command >> filename.out &

Эта команда добавит все выходные данные в ваш файл без удаления старых данных.

...