问一个很菜的问题哦
我现在想用RUNRMTCMD来执行一个远程指令,
我现在希望在本地主机得到远程主机的一个回执,希望在本地得到这个命令执行开始和执行成功的信息.
应该怎么做呢?
谢谢了大虾们
just a kid 回复于:2006-01-19 11:21:32
一般远程指令执行结果是在400上产生SPLF,你去判断有没有产生SPLF试试看
hanyu 回复于:2006-01-19 12:25:25
RUNRMTCMD 肯定不能返回参数的,可以考虑在远程程序中把返回信息,通过RUNRMTCMD修改本地的数据域来返回结果。
qingzhou 回复于:2006-01-19 12:34:53
考虑PC端调用REXEC.EXE文件执行:
REXEC xxx.xxx.xxx.xxx(AS/400 IP) -l QSYSOPR(AS/400 USRPRF) WRKACTJOB(AS/400 CL)>C:\data\actjob.txt(利用>重定向DOS命令生成actjob.txt文本LOG)
前提:远程AS/400必须启动*REXEC服务。
paradiser 回复于:2006-01-19 13:21:21
引用:原帖由 just a kid 于 2006-1-19 11:21 发表
一般远程指令执行结果是在400上产生SPLF,你去判断有没有产生SPLF试试看
有SPLF产生的
paradiser 回复于:2006-01-19 13:22:08
引用:原帖由 hanyu 于 2006-1-19 12:25 发表
RUNRMTCMD 肯定不能返回参数的,可以考虑在远程程序中把返回信息,通过RUNRMTCMD修改本地的数据域来返回结果。
具体怎么做可以说说吗?对编程不太懂
xuguopeng 回复于:2006-01-19 14:38:13
HANYU已经说的很清楚了..........
例如你RUNRMTCMD去运行一个程序,在这个程序中最后RUNRMTCMD来修改本地系统中的某个标志, 本地系统的程序根据这个标志就能判断远程的程序是否执行完毕
just a kid 回复于:2006-01-19 20:37:11
但是怎样用RUNRMTCMD来修改本地系统的某个标志呢
overing 回复于:2006-01-20 15:54:36
引用:原帖由 xuguopeng 于 2006-1-19 14:38 发表
HANYU已经说的很清楚了..........
例如你RUNRMTCMD去运行一个程序,在这个程序中最后RUNRMTCMD来修改本地系统中的某个标志, 本地系统的程序根据这个标志就能判断远程的程序是否执行完毕
谢谢XU哥,这样的话只能看到成功的信号,那如果失败怎么做返回呢?
我现在的情况是,从机器A执行一个CL程序,其中有一条是发送远程命令到机器B,到B后也是去执行一个CL程序,然后根据HANYU,XUGUOPENG的意思,可以在末尾加一个RUNRMTCMD返回执行一个修改本地系统的某个系统标志,但是如果在机器B的CL程序执行到一半或者执行失败,那就没有返回了.
我想得到一个失败的信息,应该怎么做呢?
hanyu 回复于:2006-01-20 19:48:11
从机器A执行一个CL程序,其中有一条是发送远程命令到机器B,在发送远程命令前修改A机本地数据域值表示执行中,如果在机器B的CL程序执行到一半或者执行失败,A机等待一定时间A机本地数据域值不变,就是远程执行失败。
overing 回复于:2006-01-21 22:35:13
引用:原帖由 hanyu 于 2006-1-20 19:48 发表
从机器A执行一个CL程序,其中有一条是发送远程命令到机器B,在发送远程命令前修改A机本地数据域值表示执行中,如果在机器B的CL程序执行到一半或者执行失败,A机等待一定时间A机本地数据域值不变,就是远程执行失败。
A机等待一定时间A机本地数据域值不变,这个等待时间不好安排,因为我是要在B机做一个时间跨度比较长的CL程序(备份),所以............时间很不好确定
xuguopeng 回复于:2006-01-22 18:49:49
你可以写个CLP循环不停的读本地的标志,如果标志变了就继续。。。。。。。。。。
riancy1106 回复于:2006-02-06 12:54:57
顶,经典!
|