我尝试使用exec调用在Java中创建命名管道。我有这行代码
Process p = Runtime.getRuntime().exec("/bin/sh -c \"mkfifo ~/myFifo && tail -f ~/myFifo | csh -s\"");
但是当我在通话结束后查找~/myFifo
时,它就不存在了。有什么理由不行吗?
我也试过没有/bin/sh -c
位,但它也没有用。
修改
final String [] cmds = {"/bin/sh", "-c", "\"mkfifo ~/myFifo && tail -f ~/myFifo | csh -s\""};
Process p = Runtime.getRuntime().exec(cmds);
答案 0 :(得分:1)
如果你写出第三个论点,你就会得到这个:
$ "mkfifo ~/myFifo && tail -f ~/myFifo | csh -s"
bash: mkfifo ~/myFifo && tail -f ~/myFifo | csh -s: No such file or directory
如果你试图在shell中运行它,你会发现它不起作用:
final String [] cmds = {"/bin/sh", "-c", "mkfifo ~/myFifo && tail -f ~/myFifo | csh -s"};
只需删除您添加的文字引号:
Process.getInputStream()
并记得阅读 $(document).ready(function() {
var imgcnt = 3;
var curimage = 1;
imageinterval = setInterval(function() {
var newimg;
if (curimage == imgcnt) newimg = 1;
else newimg = curimage + 1;
$("#image" + curimage).fadeToggle(1000);
$("#image" + newimg).fadeToggle(1000);
curimage = newimg;
}, 3000);
});
。