Ibm mq 使用MQ服务对象运行操作系统命令-AMQ8734-命令失败-无法启动程序

Ibm mq 使用MQ服务对象运行操作系统命令-AMQ8734-命令失败-无法启动程序,ibm-mq,Ibm Mq,我想在MQ Server Windows计算机上远程运行测试命令。为了做到这一点,我使用并且可以成功地使用管理员ID远程连接到MQ服务器。现在我有了MQSC控制台,我想通过创建服务对象来运行一些操作系统命令。我将我的服务定义为: 定义服务('myService')STARTCMD('C:\Windows\System32\PING.EXE 127.0.0.1')SERVTYPE(服务器)控件(手动) 服务已成功创建,现在我想启动此服务,因此键入: 启动服务(myService) 但我有一个错误:

我想在MQ Server Windows计算机上远程运行测试命令。为了做到这一点,我使用并且可以成功地使用管理员ID远程连接到MQ服务器。现在我有了MQSC控制台,我想通过创建
服务
对象来运行一些操作系统命令。我将我的服务定义为:

定义服务('myService')STARTCMD('C:\Windows\System32\PING.EXE 127.0.0.1')SERVTYPE(服务器)控件(手动)

服务已成功创建,现在我想启动此服务,因此键入:

启动服务(myService)

但我有一个错误:

AMQ8734-命令失败-无法启动程序


有什么想法吗?

有一系列问题

  • 您的
    SERVTYPE(SERVER)
    用于开始运行并保持运行(因此其运行状况受到监控)的对象
    SERVTYPE(COMMAND)
    用于运行并结束的内容。只能监视
    SERVTYPE(服务器)
    的运行状况,但它应该是长期运行的

  • 您的
    startcmd
    需要是一个二进制文件才能启动-只是二进制文件。
    STARTARGS
    需要保存命令的参数

     DEFINE SERVICE('myService') +  
            STARTCMD('C:\Windows\System32\PING.EXE') +  
            STARTARG('127.0.0.1') +  
            SERVTYPE(COMMAND) +  
            CONTROL(MANUAL)  
    
  • 当然,您可能希望看到它的输出—查看参数,如
    STDOUT
    STDERR
    ,以将输出捕获到文件中

    如果希望输出返回到队列中的远程客户机,则会变得更复杂一些。您必须捕获输出并将其通过
    amqsput
    或其他程序传递到队列中,然后检索它。队列不能与MO72使用的回复队列相同,因为MO72会被文本阻塞,因此必须使用
    amqsgetc
    或其他程序从队列中获取输出