问题标签 [xinetd]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
574 浏览

linux - 在单实例模式下使用 xinetd 运行 shell 脚本

当用户尝试执行由 xinetd 启动并作为单个实例运行的远程脚本时,我想给他一些反馈。

通过 UDP 或 TCP 套接字,用户将一些文本发送到 xinetd 正在侦听的端口。如果该脚本尚未使用,则会执行它,但如果没有,我想给用户一些反馈,例如“抱歉,此脚本已在使用。请稍后再试。” 怎么可能做到这一点?谢谢你的帮助。

0 投票
1 回答
1277 浏览

nagios - xinetd 不加载 /etc/profile.d 中设置的环境变量

xinetd用来提供check_mk_agent. 我有自定义 check_mk_agent 脚本,其中一些配置了环境变量。这些环境变量设置在/etc/profile.d/set_env.sh. 当我check_mk_agent手动运行时,找到了环境变量,并且自定义检查成功。当我这样做telnet myhost 6556时,找不到环境变量,并且自定义检查失败。

我的问题是,什么是确保set_env.sh在 xinetd 上下文中运行的好方法?我宁愿不在 xinetd 配置中使用envpassenv变量,因为在同一主机上的多个位置不必要地维护环境变量会很烦人。

谢谢!

0 投票
1 回答
1818 浏览

shell - 为什么xinetd不能运行shell服务

伙计们,我在使用 xinetd 时遇到问题,错误消息是 'xinetd[20126]: execv(/home/fulu/download/mysqlchk_status2.sh) failed: Exec format error (errno = 8)'

  1. 系统操作为:CentOS release 6.2;
  2. 我通过命令“sudo yum install xinetd”安装了 xinetd
  3. 我编辑了 /etc/services,为名为“mysqlchk”的服务添加了端口 6033
  4. /etc/xinetd.d/mysqlchk 中的服务“mysqlchk”是

    service mysqlchk { disable = no flags = REUSE socket_type = stream port = 6033 wait = no user = fulu server = /home/fulu/download/mysqlchk_status2.sh log_on_failure += USERID }

  5. 外壳文件 /home/fulu/download/mysqlchk_status2.sh 内容为

    回声“测试”

6.我可以直接运行命令 /home/fulu/download/mysqlchk_status2.sh 并得到结果'test'

  1. 当我 telnet 127.0.0.1 6033 时,我得到了输出

    正在尝试 127.0.0.1... 连接到 127.0.0.1。转义字符是 '^]'。外部主机关闭连接。

然后我跟踪日志文件/var/log/messages,它显示

我不知道为什么,有人可以帮助我吗?

0 投票
1 回答
733 浏览

macos - 如何使用launchctl在mac上打开日间服务?

好吧,互联网上有解决linux日间服务启动的方法。但我找不到 Mac 的解决方案。我不知道我是不是应该先找到daytime的可执行文件,然后写一个.plist文件,或者只是有一些内置的东西,我需要做的就是就像在linux上一样——那就是'turn disable to不'。

0 投票
0 回答
210 浏览

python - 是否可以使用 xinetd 将多 tcp 连接扭曲到单个服务器进程?

我在我的服务器端使用一个脚本来加密我的 tcp 数据(source here),但我并没有太多使用它,也不希望它一直运行并继续使用 cpu/memory,所以我想使用 xinetd 来解决我的问题。

这是我的 xinetdconfig:

当我运行客户端时,它会在一秒钟内建立多个连接,并且作为使用gevent的服务器,不需要多个进程来运行服务器,但默认情况下,xinetd会为每个连接创建一个进程。

我尝试使用 REUSE 或 NOLIBWRAP 设置标志,或将实例设置为 1,或将等待设置为是,但它们都不起作用。

如果您能告诉我如何解决这个问题,将非常感激,谢谢。

0 投票
0 回答
271 浏览

centos - xinetd - 无法写入文件

运行 CentOS。xinetd.d/clhtest 入口如下:

在调试这个我需要写入一个文件。我将服务器进程设置为/home/charrison/log/foo.txt作为第一步打开(注意user=charrison),但它没有 - 我假设它会尝试。当我从命令行启动服务器程序时,它会成功打开文件。

我怀疑可能需要 umask 参数,但我不知道它的默认值。

有什么提示吗?

0 投票
1 回答
878 浏览

sockets - (x)inetd 如何将其连接的套接字“拆分”为 STDIN/STDOUT/STDERR?

我假设 (x)inetd 像大多数守护进程一样工作,因为当它accept()在它正在监视的端口上建立连接时,会创建一个套接字。然而,不知何故,在它成为目标服务程序之前fork()exec()它设法将这个双向套接字转换为三个标准 I/O 描述符 STDIN、STDOUT 和 STDERR。

我一直在询问如何在不滚动我自己的inetd 版本的情况下克服这种行为,但没有成功。我突然想到以这种方式提出这个问题,因为它可能会为我如何将文件描述符 0、1 和 2 重新“加入”到单个套接字中提供线索。

我希望服务程序通过单个套接字进行双向通信的原因是它需要使用基于单个双向套接字的 I/O 基础结构。

0 投票
1 回答
273 浏览

tcp - xinetd 无法远程映射回显服务器

我已经配置了 xinetd,我想远程访问 echo 服务。关键是,当你这样做时:

它出现

但是当我做

nmap [远程IP]

它没有出现

我不知道为什么

这是 /etc/xinetd.d/echo

这是/etc/xinetd.conf

顺便谢谢!干杯!

0 投票
1 回答
196 浏览

service - OSX 和 CVSROOT

我在计算机 OS X Mountain Lion 10.8.5 服务器上使用。我想在上面配置 CVS,以便其他计算机以后可以使用该存储库。

  1. 有人可以向我解释一下如何配置和启动 xinetd(最好)或 inetd。目录 /etc/xinetd.d 是空的(意味着没有服务使用它)。当我输入“/System/Library/StartupItems/IPServices/IPServices start”时,我得到“找不到命令”。

  2. 如何配置 Internet 服务以确保他们知道我的 CVS 存储库在哪里以及在哪个端口上侦听 => 需要配置端口 2401。

  3. 我在 /etc 中找不到任何 inetd.conf 文件 - 为什么?想。

0 投票
2 回答
3767 浏览

haskell - Haskell 默认 io 缓冲

昨天给同学们写了一个xinetd小练习:做一个反向回显程序。

为了学习新东西,我尝试实现一个 Haskell 解决方案。微不足道的main = forever $ interact reverse行不通。我经历了这个问题并做了一个更正的版本:

但是这个更正的版本也不起作用。我阅读了缓冲文档并使用了各种设置。如果我设置NoBufferingor LineBuffering,我的程序可以正常工作。最后我打印出标准输入和标准输出的默认缓冲模式。

如果我BlockBuffering Nothing从 xinetd( ) 运行我的程序,echo "test" | nc localhost 7但从 cli 我有LineBuffering

  • 关于缓冲,xinetd tcp 服务和 cli 程序有什么区别?
  • 如果我想用两种运行方法编写一个工作程序,我是否必须手动设置缓冲?

编辑:谢谢大家的有用答案。

我接受了 blaze 给出的答案,他用 isatty(3) 给了我一个提示。我再次浏览了 System.IO 文档并找到了hIsTerminalDevice函数,我可以使用它检查句柄的连接。

作为记录,这是我的最终程序: