两个主机都是* nix
在主机2上有两个perl脚本nfs1
和nfs2
。
脚本nfs1
在后台多次运行脚本nfs2
system("/usr/local/scripts/nfs2 -m $mountpt &");
在本地运行时,它可以正常工作。
通过ssh在其他主机上运行时
ssh testhost /usr/local/bin/nfs1
ssh将等到脚本nfs2
完成
为了测试,我加入了nfs2
10秒的睡眠时间。
运行nfs1
需要'零'时间,你可以通过ps nfs2
看到,然后在10秒后结束。
当我ssh /usr/local/scripts/nfs1
需要10.8秒时,将睡眠时间改为5,让我获得5.8秒。我稍后会弄清楚.8。
想法?
-pete
答案 0 :(得分:2)
脚本nfs2很可能在ssh链接上打开了文件描述符。关闭它们。重写nfs2以使其正确守护自身并关闭其所有文件描述符,或者修改nfs1以在关闭或重定向描述符的情况下调用它。那就是:
system("/usr/local/scripts/nfs2 -m $mountpt < /dev/null > /dev/null 2>&1 &");