デモ用に小さな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
バグセクションで、環境変数にスペースを入れることはできないと述べています。同様の制限がありますか server_args
?