Telnet xinetd 脚本没有回显输出

Telnet xinetd 脚本没有回显输出

我已经安装了xinetd,并编写了一个脚本:

#!/bin/bash
echo "Some text"
touch /home/somefile

我在下面进行了服务配置/etc/xinetd.d/,基本上当我在配置的端口下连接到本地主机时它就可以工作,因为: 该文件somefile是由连接到服务时的 touch 命令生成的。我用telnet连接:

telnet localhost someport

我不明白的是 telnet 不输出字符串“Some text”。我该怎么做才能使这项工作成功?

这是 /etc/xinetd.d/ 中的 xinetd 服务配置文件:


# This is the configuration for the tcp/stream echo service.

service my_service_name #not in /etc/services
{
# This is for quick on or off of the service
        disable         = no

# The next attributes are mandatory for all services
        id              = my_custom_id
        type            = UNLISTED
        wait            = yes
        socket_type     = stream
        protocol        = tcp

# External services must fill out the following
        user            = root
#       group           =
        server          = /usr/bin/program_name_here
#       server_args     =

# External services not listed in /etc/services must fill out the next one
        port            = 60001
}

答案1

更改waitno可能会解决您的问题。从手册页:

如果其值为yes,则该服务是单线程的;这意味着 xinetd 将启动服务器,然后停止处理服务请求,直到服务器终止并且服务器软件将接受连接。

关键一点是,当 wait 设置为 yes 时,服务器软件应该接受连接,而您的脚本不会这样做。

相关内容