use*_*849 5 networking monitoring tcp udp daemon
我有一个程序在正常激活下侦听某个端口。
我不希望程序连续运行。
是否有一种“快速而肮脏”的方法可以将应用程序包装在 shell 脚本或类似的脚本中,以监控适当的端口,并按需启动服务?
最简单的方法可能会导致连接失败,因为包装器必须释放端口,然后启动应用程序。但是,如果客户端在短时间内再次连接,则一切正常。
但如果这一切对客户完全透明,当然会更好。
正如理查德已经提到的,您要寻找的东西已经存在很长时间了。它被称为inetd。
有几种 inetd 的实现。有些很简单,只做套接字激活的事情(它们通常只是inetd来自一些包含其他基本网络工具的更大软件包的程序,例如GNU inetutils或BusyBox或已移植到 Linux 的 BSD 工具),有些提供更多功能(xinetd非常流行,rlinetd将自己描述为“功能过于强大”),并且在systemd 中有一个 inetd 的实现(systemd没有实现什么?)。
几乎每个 Unix 系统都带有 inetd 实现。传统上,诸如echo、finger、ftp 等“小”服务使用了inetd,而诸如httpd 和NFS、helper 和ssh 等“大”服务则没有。除非您需要的不仅仅是基本服务,否则请使用您的发行版的默认 inetd 实现。
| 归档时间: |
|
| 查看次数: |
2163 次 |
| 最近记录: |