Команда nohup не может распечатать вывод nohup.out

Особая благодарность Стефано за то, что он сказал, что в конечном итоге привело к решению:

Как-то кажется, что слайдер оттенка в Totem не был установлен правильно, и это было тем, что испортило цвета. Казалось бы, проблема также сказывается на каждом отдельном приложении с видеовыходом, так как проблема проявилась в VLC, Cheese и т. Д.

. Решением было просто сбросить ползунки до значений по умолчанию и теперь все работает.

0
задан 21 June 2017 в 14:06

3 ответа

Если вы не экспортировали значение nohup в среду сценария (например, export nohup=/usr/bin/nohup), то $nohup будет оценивать пустую строку - следовательно, ваша команда

$nohup java -jar /home/chikin/Downloads/hardcoded.jar

станет простой [ ! d1]

java -jar /home/chikin/Downloads/hardcoded.jar

, поэтому nohup вообще не вызывается. Вероятно, вы хотите

nohup java -jar /home/chikin/Downloads/hardcoded.jar & tail -f nohup.out

(без $).

Наверное, лучше сделать выходной файл явным:

[ f4]

, поскольку, как отмечено в man-странице, правила для выходного файла зависят от того, является ли стандартный вывод терминалом или нет:

If standard output is a terminal, append output to 'nohup.out' if  pos‐
sible,  '$HOME/nohup.out'  otherwise.  If standard error is a terminal,
redirect it to standard output.  To save output  to  FILE,  use  'nohup
COMMAND > FILE'.
1
ответ дан 22 May 2018 в 21:19
  • 1
    любая идея, как запустить мой скрипт после перезагрузки моей машины? я тестировал различный метод, но ни один из них не работает, не уверен, что я недопонимаю любой онлайновый доступный учебник – attack 22 June 2017 в 05:02
  • 2
    спасибо за вашего гида, я могу напечатать свой вывод в nohup.out – attack 22 June 2017 в 05:05
  • 3
    @attack есть несколько мест для запуска скриптов (при загрузке, когда запускается диспетчер дисплея, когда пользователь входит в систему, когда начинается сеанс рабочего стола пользователя) - соответствующее место будет зависеть от того, что делает ваш скрипт, и от какой среды и ресурсов он нуждается в правильно функционировать – steeldriver 22 June 2017 в 05:14
  • 4
    позвольте мне объяснить, что моя программа будет делать, моя программа - программа анализа файлов журнала, я буду использовать мой скрипт для запуска его в качестве фоновой службы, поэтому я не могу дождаться входа пользователя в систему – attack 22 June 2017 в 05:46

Если вы не экспортировали значение nohup в среду сценария (например, export nohup=/usr/bin/nohup), тогда $nohup будет оценивать пустую строку - следовательно, ваша команда

$nohup java -jar /home/chikin/Downloads/hardcoded.jar

станет простой [ ! d1] java -jar /home/chikin/Downloads/hardcoded.jar

, поэтому nohup вообще не вызывается. Вероятно, вы хотите

nohup java -jar /home/chikin/Downloads/hardcoded.jar & tail -f nohup.out

(без $).

Наверное, лучше сделать выходной файл явным:

nohup java -jar /home/chikin/Downloads/hardcoded.jar > nohup.out & tail -f nohup.out

, поскольку, как отмечено в man-странице, правила для выходного файла зависят от того, является ли стандартный вывод терминалом или нет:

If standard output is a terminal, append output to 'nohup.out' if pos‐ sible, '$HOME/nohup.out' otherwise. If standard error is a terminal, redirect it to standard output. To save output to FILE, use 'nohup COMMAND > FILE'.
1
ответ дан 18 July 2018 в 11:18

Если вы не экспортировали значение nohup в среду сценария (например, export nohup=/usr/bin/nohup), тогда $nohup будет оценивать пустую строку - следовательно, ваша команда

$nohup java -jar /home/chikin/Downloads/hardcoded.jar

станет простой [ ! d1] java -jar /home/chikin/Downloads/hardcoded.jar

, поэтому nohup вообще не вызывается. Вероятно, вы хотите

nohup java -jar /home/chikin/Downloads/hardcoded.jar & tail -f nohup.out

(без $).

Наверное, лучше сделать выходной файл явным:

nohup java -jar /home/chikin/Downloads/hardcoded.jar > nohup.out & tail -f nohup.out

, поскольку, как отмечено в man-странице, правила для выходного файла зависят от того, является ли стандартный вывод терминалом или нет:

If standard output is a terminal, append output to 'nohup.out' if pos‐ sible, '$HOME/nohup.out' otherwise. If standard error is a terminal, redirect it to standard output. To save output to FILE, use 'nohup COMMAND > FILE'.
0
ответ дан 24 July 2018 в 19:46

Другие вопросы по тегам:

Похожие вопросы: