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 чтобы увидеть, можете ли вы выполнить эту команду.

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