3

伙计们,我在使用 xinetd 时遇到问题,错误消息是 'xinetd[20126]: execv(/home/fulu/download/mysqlchk_status2.sh) failed: Exec format error (errno = 8)'

  1. 系统操作为:CentOS release 6.2;
  2. 我通过命令“sudo yum install xinetd”安装了 xinetd
  3. 我编辑了 /etc/services,为名为“mysqlchk”的服务添加了端口 6033
  4. /etc/xinetd.d/mysqlchk 中的服务“mysqlchk”是

    service mysqlchk { disable = no flags = REUSE socket_type = stream port = 6033 wait = no user = fulu server = /home/fulu/download/mysqlchk_status2.sh log_on_failure += USERID }

  5. 外壳文件 /home/fulu/download/mysqlchk_status2.sh 内容为

    回声“测试”

6.我可以直接运行命令 /home/fulu/download/mysqlchk_status2.sh 并得到结果'test'

  1. 当我 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)

我不知道为什么,有人可以帮助我吗?

4

1 回答 1

2

不好意思,问了之后突然找到了答案。如果你想让 shell 在其他程序中运行,你需要在 shell 文件的第一行添加 '#!/bin/echo' (当然可以更改 echo)

于 2013-04-23T06:41:00.673 回答