如何用xinet启动自定义网络程序?

发布于 2022-10-03 18:10:16 字数 1150 浏览 21 评论 0

以下是我的步骤:
在xinetd.d文件夹中增加该服务,假设为lsnrctl.

service servers
{
#程序路径:
        server          = /opt/oracle/product/9.2.0/bin/lsnrctl
#程序参数:是这样传的吗?还是???
        server_args     = start
#启动端口:
        port            = 1521
        socket_type     = stream
        protocol        = tcp
        wait            = no
#启用改服务:
        disable         = no
}                 

然后service xinetd.d     restart.
xinetd.d启动成功,但该服务没起来..

/opt/oracle/product/9.2.0/bin/lsnrctl start就可以独立启动
该服务.

请问自定义的网络程序如何用xinetd启动呢?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(9

扛刀软妹 2022-10-10 18:10:16

介个不能这么加吧?

lsnrctl 是要先启动的. xinet 不会替它的吧?

疾风者 2022-10-10 18:10:16

原帖由 "q1208c" 发表:
介个不能这么加吧?

lsnrctl 是要先启动的. xinet 不会替它的吧?

这么快就有恢复!
   
是否可以用传参数的形式? 我想给lsnrct传参数 start.

server_args   =start..我现在怀疑的是这样传参数是否是正确的?

温柔嚣张 2022-10-10 18:10:16

原帖由 "lijietz" 发表:

这么快就有恢复!
   
是否可以用传参数的形式? 我想给lsnrct传参数 start.

server_args   =start..我现在怀疑的是这样传参数是否是正确的?

xinet 是用于那些不常用的 service 的. 当有请求时, xinetd 会调用相应的 server process 来处理, 之后就会停掉的.

而 lsnrctl 好象不是这样的东东. 如果它不在话, oracle 好象用不了吧?

你还是做成一个单独的 service 的吧.

我三岁 2022-10-10 18:10:16

原帖由 "q1208c" 发表:

xinet 是用于那些不常用的 service 的. 当有请求时, xinetd 会调用相应的 server process 来处理, 之后就会停掉的.

而 lsnrctl 好象不是这样的东东. 如果它不在话, oracle 好象用不了吧?

你还是做成一个?.........

非常感谢q1208c的回复.我对linux不是非常了解.   

好像xinetd是这样的,就是联入的请求,需要经过xinetd处理,
检验是否符合定义的一些规则,比如 访问ip,access_time,
禁止ip等等...然后交给相应的程序来处理.
               
对我们三层的应用来说,我只想让某些用户直接联入数据库,想
在晚上2点以后不让用户访问(听掉监听器).等等..
        
也就是说,我想把xinetd的功能用在lsnrctl上..让系统更易于管理,
维护.

现在正在尝试..但不知道如何用xinetd启动该程序. .

忘你却要生生世世 2022-10-10 18:10:16

现在可以归为2个问题.

1:如果用xinet启动自定义网络程序.
2:如何给该自定义网络程序传参数?

油饼 2022-10-10 18:10:16

顶一把先.

影子的影子 2022-10-10 18:10:16

[quote]原帖由 "lijietz" 发表:

非常感谢q1208c的回复.我对linux不是非常了解.   

好像xinetd是这样的,就是联入的请求,需要经过xinetd处理,
检验是否符合定义的一些规则,比如 访问ip,access_time,
禁止ip等等...然后交给相应的程序

就是爱搞怪 2022-10-10 18:10:16

原帖由 "q1208c" 发表:

你的要求可以用别的办法来做到.

如果非要用 xinetd 的话. man xinetd.conf 看一下吧. 我这没有 Linux. 没法看.

是的.可以用oracle自带的一些东西或者写个shell来弄.

夜雨飘雪 2022-10-10 18:10:16

原帖由 "lijietz" 发表:
对我们三层的应用来说,我只想让某些用户直接联入数据库,想
在晚上2点以后不让用户访问(听掉监听器).等等..

可以用crontab,晚上2点停掉lsnrctl,在另一个时刻启动lsnrctl

建个文件crontab_lsnrctl

  1. ORA_HOME=/opt/oracle/product/9.2.0
  2. ORA_OWNER=oracle
  3. 0 2 * * * /bin/su - $ORA_OWNER -c "$ORA_HOME/bin/lsnrctl stop" >; /dev/null 2>;&1
  4. 0 8 * * * /bin/su - $ORA_OWNER -c "$ORA_HOME/bin/lsnrctl start" >; /dev/null 2>;&1

复制代码
然后
# crontab crontab_lsnrctl

crontab的用法可以看man帮助
man crontab
man 5 crontab

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文