Linux:如何使用xinetd使用守护进程/服务?

Ste*_*ger 5 linux mono service daemon mail-server

有人知道服务器使用xinetd需要做哪些更改?

服务器是在Linux上运行的.NET邮件服务器.

请参阅本文的底部以供参考: Lumisoft Mailserver Forum Post

注意:xinetd,而不是单一服务.[x] inetd是一个互联网超级服务器.
超级服务器按需启动服务器服务.
(与连续运行的服务器服务相反,这是单服务所做的)

cHa*_*Hao 7

inetd服务与独立服务器的运行方式不同.inetd服务读取stdin并写入stdout,让inetd处理TCP/IP的血腥细节,而不是跟踪自己的套接字.如果你想让服务器在inetd下运行,它必须做同样的事情.

以下程序在我的机器上的xinetd下运行正常:

#include <iostream>
#include <string>

using namespace std;  // yeah, i'm lazy.

int main()
{
    string name;
    cout << "What's your name? " << flush;
    cin >> name;
    cout << "Hi, " << name << "!" << endl;
}
Run Code Online (Sandbox Code Playgroud)

注意我并不担心套接字 - xinetd会安排一些事情,以便服务可以读取标准输入并写入标准输出.您只需编写您的应用程序就像在控制台上运行它一样.套接字详细信息在服务的配置文件中指定.(注意,您可能能够使用stdin/stdout来获取/设置有关套接字的详细信息,这可能是实际的套接字 - 我不确定 - 但是您真的应该将这些内容留给inetd.)