问题标签 [inetd]
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.
sockets - (x)inetd 如何将其连接的套接字“拆分”为 STDIN/STDOUT/STDERR?
我假设 (x)inetd 像大多数守护进程一样工作,因为当它accept()
在它正在监视的端口上建立连接时,会创建一个套接字。然而,不知何故,在它成为目标服务程序之前fork()
,exec()
它设法将这个双向套接字转换为三个标准 I/O 描述符 STDIN、STDOUT 和 STDERR。
我一直在询问如何在不滚动我自己的inetd 版本的情况下克服这种行为,但没有成功。我突然想到以这种方式提出这个问题,因为它可能会为我如何将文件描述符 0、1 和 2 重新“加入”到单个套接字中提供线索。
我希望服务程序通过单个套接字进行双向通信的原因是它需要使用基于单个双向套接字的 I/O 基础结构。
service - OSX 和 CVSROOT
我在计算机 OS X Mountain Lion 10.8.5 服务器上使用。我想在上面配置 CVS,以便其他计算机以后可以使用该存储库。
有人可以向我解释一下如何配置和启动 xinetd(最好)或 inetd。目录 /etc/xinetd.d 是空的(意味着没有服务使用它)。当我输入“/System/Library/StartupItems/IPServices/IPServices start”时,我得到“找不到命令”。
如何配置 Internet 服务以确保他们知道我的 CVS 存储库在哪里以及在哪个端口上侦听 => 需要配置端口 2401。
我在 /etc 中找不到任何 inetd.conf 文件 - 为什么?想。
python-3.x - 使用 python 从服务中通知用户
在下面的文本中,“write”一词指的是 unix write 命令,它将消息写入另一个用户的 tty。
我有一个正在运行的服务(在 inetd 中,但这无关紧要),它需要通知任意用户。直到现在我都尝试用 subprocess 调用 write 命令。但这并不总是有效,并且在某些机器上会导致错误消息,例如:
(请注意,该服务是以无人身份运行的。)终端的写权限是用mesg打开的。因此,我查看了 inetutils-talkd(GNU 实现),它也是如此。我看到它使用了 ttymsg 函数,并相信这个函数做了我想要的,但我认为这个函数对 python 不可用。
所以主要的问题是:在 python 中是否有类似 ttymsg 函数的东西,或者我怎样才能写来做我想做的事?
perl - 使用 perl cgi 每天服务少于 10 个 http 请求的最有效方法
我们公司管理着一百多台服务器,我们希望每天使用 http 向这些服务器“询问”一次或两次基本使用信息。使用 perl cgi 脚本可以轻松找到使用信息,我们希望有一个 http 接口来简化脚本的创建和测试。让 apache 甚至 nginx+fcgiwrap 每天处理一两个请求似乎有点过头了。我们正在考虑使用 openbsd-inetd(已安装在所有服务器中)来启动一个 Web 服务器,该服务器可以轻松地将请求传递给 perl cgi 脚本并退出。有什么好的选择可以做到这一点?
我已经设法perlscript.pl
让它工作,但我不确定这是否是正确的方法。
有inetd.conf
一个
fork - 使用 xinetd/inetd,为什么服务器要调用 fflush()?
xinetd 上的所有程序(我读过)都调用 fflush()。为什么?
例如,Inetd-维基百科
c - inetd 如何知道将传入数据发送到哪个进程?
我正在尝试用独立的服务替换 inetd/xinetd 服务。我能做到的最简单的方法是什么?有一些标准代码可以开始吗?
linux - 通过 tftp 访问符号链接
我正在使用GNU
inetd
and tftpd
(在 下cygwin
,但这不重要),我需要有许多符号链接指向几个不同的文件,这些文件应该可以通过tftp
.
tftp 目录如下所示:
并且 tftp 是这样说的:
我用了ln -s file.bin link.bin
tftpd 可以处理符号链接吗?我究竟做错了什么?
linux - 文件传输后终止 TFTPD
我正在使用inetutils
tftpd
它是通过inetd
使用以下条目开始的inetd.conf
:
(忽略root账号和/home目录的使用,仅供测试,后面会改)。
inetd
版本是inetd (GNU inetutils) 1.7
tftpd
版本是tftp-hpa 5.2, with remap, with tcpwrappers
一切正常,但问题是我没有关于文件传输状态的任何信息。考虑到我有 10 多个依赖于 的脚本tftpd
,我需要:
文件传输或错误后终止
tftpd
(因为它一直在后台运行,什么也不做)让它以我可以或至少以我可以
grep
sed
或至少的方式显示文件传输状态$?
这可能吗,如果没有,tftpd
我应该使用什么其他服务器?
c++ - 当守护程序通过 inetd 运行时,xerces-c 库函数返回 NULL
我的应用程序是一个服务器应用程序,它接受来自用户的一些预定义命令并显示从服务器端存在的 XML 文件获取的相应输出。
为了解析 XML 文件,我使用的是 apache 的 xerces-c 库版本 3.1.2。该应用程序在终端上手动运行时运行良好。
但我想通过网络上的 telnet 运行应用程序,这样我就可以通过 telnet 向应用程序提供输入,也可以在远程系统上接收输出。为此,我使用了 inetd 超级服务器,并在 inetd.conf 中添加了以下行:
然后在 /etc/services 中添加以下行以使其侦听端口 5000
之后,当我尝试连接到我的应用程序时,我曾经收到以下消息:
当上面的连接关闭消息出现时,我认为我没有使用 inetd 正确配置我的应用程序。所以,我用一个不使用任何额外库的简单二进制文件替换了我的二进制文件。只是简单的 cin's 和 cout's,效果很好。
然后事实证明我的应用程序有问题,所以为此我投入了大量的 cout 来确定实际发生了什么。有了这个,我发现其中一个 xerces-c XML 解析库函数正在返回 NULL,并且通过这个 NULL 引用,我试图在下面的行中调用一个函数,它会在我的应用程序启动时立即转储。
但是当我在终端上手动运行我的应用程序时,相同的功能工作正常。完整的应用程序有点大,所以我创建了一个重现问题的演示代码。这是我的代码:
上面的代码在手动编译和运行时不会进入 if 条件,即“Doc is NULL”并成功打印根元素标记名称,但是当我在 inetd 后面运行这个应用程序并且当我 telnet 到它时,我能够看到“Doc is NULL”语句和同一条消息“连接被外部主机关闭”之后。因为我的应用程序可能会倾销。
我现在有点没脑子,因为我不知道该去哪里找。由于相同的代码在手动运行但不是通过 inetd 时有效。所以,我想我们在通过使用共享库的 inetd 执行进程时是否需要特别注意,就像这里我使用 xerces-c 共享库进行 XML 解析一样。或者我的理解或我的代码可能还有什么问题。当应用程序手动运行而通过 inetd 运行时,相同的库函数如何工作得很好?
我尝试使用 xinetd 而不是 inetd 进行相同的操作,但结果相同。
c++ - 带有 QT 的简单守护程序服务器
我试图使用 Qt 来创建一个在 Linux 操作系统上与 Inetd/xinetd 一起工作的服务器/客户端程序。
我已使用此文本将服务配置文件添加到 /etc/xinetd.d/testServ
然后我将此行添加到 /etc/services
我创建了一个特殊的客户端程序,它使用指定的端口连接到服务器,它可以正常工作。
问题出在服务器程序上。我在服务器程序的主函数中写了这段代码
服务器程序的问题在main函数的第二行,在这行之后程序没有继续。如果我在此行之后打印某些内容,它不会出现在屏幕上,但如果我在此行之前打印某些内容,则会出现打印消息。我不知道为什么 Inetd/xinetd 不能与 QApplication app(argc, argv);
当我删除这一行和另一行(app.exe)时,程序直接终止。
我需要 QApplication,因为我在对象 clientproc( ....) 中多次使用它。
你能帮我解决这个问题并让 qt 在 linux 上与 inetd/xinetd 一起工作吗?