Как запустить демон inetd на Cygwin?
Я хочу, чтобы демон inetd работал на машине с Cygwin. Я знаю, как сделать это на Centos 4, но на Cygwin, похоже, не работает.
Команды, которые я пробовал:
cygrunsrv -I xinetd -d "Cygwin Xinetd" -p /usr/sbin/xinetd -e CYGWIN=ntsec
cygrunsrv -S xinetd
/etc/rc.d/init.d/xinetd start
На Linux я бы просто сделал:
/sbin/service xinetd restart
После редактирования моего файла конфигурации:
/etc/xinetd.d/<myAppHere>
Я создал этот файл на Cygwin, но не могу понять, как запустить службу.
[si-xp-pro-sp3 ~] /etc/rc.d/init.d/xinetd start
/etc/rc.d/init.d/xinetd: line 22: /etc/init.d/functions: No such file or directory
Starting xinetd: /etc/rc.d/init.d/xinetd: line 59: daemon: command not found
[si-xp-pro-sp3 ~] /usr/sbin/xinetd start
Usage: xinetd [-d] [-f config_file] [-filelog filename] [-syslog facility] [-reuse]
[-limit proc_limit] [-pidfile filename] [-logprocs limit] [-shutdownprocs limit]
[-cc interval]
4 ответа
cygrunsrv делает большую часть волшебства, но разрешения вашей файловой системы Windows должны быть открыты.
Это больше, чем просто делать ls -l
Вы должны сделать это через CMD.EXE или, проще, через графический интерфейс EXPLORER.EXE.
Вам необходимо открыть для ПОЛНОГО УПРАВЛЕНИЯ для СИСТЕМЫ следующие каталоги (папки):
C:\CYGWIN
C:\CYGWIN\VAR
C:\CYGWIN\VAR\LOG
Выберите свойства файла для каждого из них и найдите вкладку "Безопасность".
Если нет вкладки "Безопасность", у вас есть "Простой общий доступ к файлам". Отключите это с помощью Tools -> Folder Options -> View, затем прокрутите до самого последнего флажка: [ ] Использовать простой обмен файлами (рекомендуется)
Удостоверьтесь, что это НЕПРОВЕРЕНО - тогда вы также сможете получить вкладку Безопасность для каждой папки.
Убедитесь, что SYSTEM указан под именем группы или пользователя. Добавьте это, если нет. Затем убедитесь, что при выделении SYSTEM установлен флажок Full Control Allow.
Смотрите эту ссылку для обсуждения этой проблемы с sshd - http://www.noah.org/ssh/cygwin-sshd.html
Бег /usr/bin/xinetd-config
чтобы установить xinetd, необходимо устранить эти две ошибки:
/etc/rc.d/init.d/xinetd: строка 22: /etc/init.d/functions: нет такого файла или каталога
Запуск xinetd: /etc/rc.d/init.d/xinetd: строка 59: демон: команда не найдена
Существует ли /etc/rc.d/init.d/xinetd? Какие сообщения вы получаете?
Вы пробовали просто запустить xinetd или / usr / sbin / xinetd?
Проще говоря, это не означает использование "начала" в качестве аргумента. Проверьте справочную страницу для xinetd.
По сути, вы путаетесь между использованием /etc/init.d и / usr / sbin. Папка init.d содержит сценарии оболочки, которые используются для автоматического запуска процессов сервера, но также могут использоваться и вручную. sbin содержит двоичные файлы приложений. Все сценарии в init.d принимают аргументы, такие как start и stop, но если вы хотите узнать, какие аргументы принимает двоичный файл sbin, вы должны прочитать страницу руководства.
Когда я сказал, что Simpy запустит xinetd, я хотел набрать следующую команду оболочки.
xinetd
и если это не сработает, то попробуйте
/usr/sbin/xinetd
Когда вы вводите ложные аргументы в командную строку, xinetd сбивается с толку и даже не пытается запустить.
Вот как:
xinetd-config
cygrunsrv -I xinetd -p /usr/sbin/xinetd -d 'CYGWIN xinetd' -a '-stayalive -pidfile /var/run/xinetd.pid'
cygrunsrv -S xinetd