Я пытаюсь выставить небольшую Java-программу в сеть для демонстрационных целей. Я использую конфигурацию xinetd
и создаю сервис, и могу заставить все работать. За исключением случаев, когда в имени пути есть пробел, который я передаю java:
service demo
{
disable = no
log_type = FILE /var/log/xinetd.log
type = UNLISTED
port = 8080
socket_type = stream
protocol = tcp
wait = no
server = usr/bin/java
server_args = -cp /home/demo/example name/bin DemoMain /home/demo/example name/log.txt
# ^ ^
}
Когда я запускаю его в терминале, он работает как положено:
me@host:~/$ java -cp /home/demo/example\ name/bin DemoMain /home/demo/example\ name/log.txt
(обратите внимание на пробелы с обратной косой чертой). Однако я не могу заставить его работать на xinetd
(без переименования папки во что-то без пробела). Я попытался избежать обратной косой черты, двойной обратной косой черты, завернуть путь в кавычки - ничего.
Страница man для xinetd.conf
упоминает в разделе BUGS, что нельзя помещать пробелы в переменные окружения. Есть ли подобное ограничение для server_args
?