伙计们,我在使用 xinetd 时遇到问题,错误消息是 'xinetd[20126]: execv(/home/fulu/download/mysqlchk_status2.sh ) failed: Exec format error (errno = 8)'
- 系统运行为:CentOS release 6.2;
- 我通过命令“sudo yum install xinetd”安装了 xinetd
- 我编辑了/etc/services,为名为“mysqlchk”的服务添加端口 6033
/etc/xinetd.d/mysqlchk 中的服务 'mysqlchk' 是
服务mysqlchk { 禁用=否 标志 = 重用 套接字类型 = 流 端口 = 6033 等待=否 用户=福禄 server =/home/fulu/download/mysqlchk_status2.sh 登录失败 += 用户 ID
shell文件/home/fulu/download/mysqlchk_status2.sh内容为
echo '测试'
6.i可以直接运行命令/home/fulu/download/mysqlchk_status2.sh得到结果'test'
当我 telnet 127.0.0.1 6033 时,我得到了输出
正在尝试 127.0.0.1... 连接到 127.0.0.1。 转义符是'^]'。 外部主机关闭了连接。
然后我跟踪日志文件/var/log/messages,它显示
Apr 22 22:01:47 AY1304111122016 xinetd[20001]: START: mysqlchk pid=20126 from=127.0.0.1
Apr 22 22:01:47 AY1304111122016 xinetd[20126]: execv( /home/fulu/download/mysqlchk_status2.sh ) failed: Exec format error (errno = 8)
Apr 22 22:01:47 AY1304111122016 xinetd[20001]: EXIT: mysqlchk status=0 pid=20126 duration=0(sec)
我不知道为什么,有人可以帮助我吗?
最佳答案
不好意思,问了之后突然找到了答案。如果你想让shell在其他程序中运行,你需要在shell文件的第一行添加'#!/bin/echo'(当然echo是可以改变的)
关于shell - 为什么 xinetd 不能运行 shell 服务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16149174/