nohup ./startup & В доступе отказано
Я успешно скомпилировал исходный код MUD, и в инструкции сказано, чтобы запустить сервер с помощью
nohup ./startup &
хотя, когда я делаю это, это дает мне эту ошибку:
$ nohup: ignoring input and appending output to `nohup.out'
nohup: failed to run command `./startup': Permission denied
Я просмотрел весь интернет, чтобы найти ответ. Некоторые из них сказали поместить мой каталог cygwin в корневую папку (я использую windows 7), а его каталог - C:\cygwin.
так что это не проблема.. Кто-нибудь может мне помочь с этим, пожалуйста?
3 ответа
Пытаться chmod +x startup
может твой startup
файл не является исполняемым
Как пишет staticx, проверьте права доступа к каталогу (и пользователю) и исполняемому файлу.
Вместо того, чтобы использовать nohup
:
- проверить, если
nohup
нужно вообще, попробуй./startup </dev/null >mud.out 2>mud.err &
, затем закройте окно терминала и проверьте, работает ли оно - или просто беги
./startup
вscreen
сеанс и отсоединить его (<ctrl>+<a>,<d>
)
Из " man nohup":
Если стандартный вывод является терминалом, все выходные данные, записанные указанной утилитой в ее стандартный вывод, должны быть добавлены в конец файла nohup.out в текущем каталоге. Если nohup.out не может быть создан или открыт для добавления, вывод должен быть добавлен в конец файла nohup.out в каталоге, указанном переменной среды HOME. Если ни один файл не может быть создан или открыт для добавления, утилита не вызывается. Если файл создан, биты разрешения файла должны быть установлены в S_IRUSR | S_IWUSR.
Я предполагаю, что, поскольку sh -c не запускает оболочку входа в систему, она наследует среду вызывающей оболочки, включая переменную среды HOME, и пытается открыть ее там. Так что я бы проверил разрешения как вашего текущего каталога, так и $HOME
, Вы можете попробовать touch test.txt
в текущем каталоге или $HOME
чтобы увидеть, можете ли вы выполнить эту команду.