Я использую nohup для запуска команды из приложения php (у меня есть веб-страница, которая отправляет запрос POST на php server, чтобы запустить сценарий оболочки в фоновом режиме).nohup не работает с OS X Yosmite - получить ошибку «не может отсоединиться от консоли нет такого файла или каталога»
Это что-то вроде
exec('nohup /home/user/test.sh > /home/user/test.log 2>&1 &')
Это работало хорошо, когда я использую OS X Snow Leopard (OS X 10.6). Однако недавно я обновил свой MAC до OS X Yosemite (OS X 10.10), и теперь он больше не работает.
В test.log я всегда получаю сообщение: nohup can't detach from console: no such file or directory
.
Если я просто запускаю ту же команду в bash напрямую, она работает нормально. Я много искал, но, похоже, я не могу найти ничего полезного для этой проблемы. То, что я вижу только discussion относительно Дженкинса, похоже, что они также видят аналогичную проблему.
У любого есть идеи, почему он начинает терпеть неудачу с Йосемити? Любой вход будет оценен.
Возможно, вам стоит попросить об этом вместо http://apple.stackexchange.com/. –
Я тоже запускаю Yosemite, и я проверил - nohup отлично работает на моем компьютере, я пробовал называть его таким же образом. Но зачем вам это нужно? Почему бы просто не выполнить exec ('/ bin/sh /home/user/test.sh> /home/user/test.log 2> & 1 &')? Все nohup делает это, чтобы игнорировать сигналы SIGHUP, но я предполагаю, что вы все равно не используете никаких сигналов. Фоновый режим запускается символом '&' в конце, а не nohup. –
Спасибо. Да, я удалил nohup, он работает нормально. Но на всякий случай в будущем мне это нужно, тогда мне будет тяжело ... Для меня это действительно странно – weilan