使用进程构建器从jvm启动redis服务器

时间:2016-03-09 16:08:49

标签: java bash redis processbuilder

我已经使用

安装了redis 3.0.7
sudo yum install -y gcc-c++

wget http://download.redis.io/releases/redis-3.0.7.tar.gz
tar xzf redis-3.0.7.tar.gz

sudo make -C redis-3.0.7/deps lua hiredis linenoise
sudo make -C redis-3.0.7 MALLOC=libc install

上面的命令是从jmv运行的,使用下面的代码。

在命令行上提供redis-server之后

我可以在我的所有盒子上运行并运行redis-server,启动redis实例。

然而,当我尝试使用java中的redis-server命令时

    Process p = Runtime.getRuntime().exec(command);
    p.waitFor();
    int exitCode = p.exitValue();

    BufferedReader reader;
    if (exitCode != 0 ){
        System.out.println("ERROR exit code = "+p.exitValue()+" cmd="+command);
        reader = new BufferedReader(new InputStreamReader(p.getErrorStream()));
    }else{
        reader = new BufferedReader(new   InputStreamReader(p.getInputStream()));
    }

我得到并且错误

  ERROR exit code = 1 cmd=nohup redis-server >> out.txt 2>&1 & echo $!

如果我尝试

    sudo nohup redis-server >> out.txt 2>&1 & echo $!

我找不到cmd错误。

我错过了什么诀窍?

0 个答案:

没有答案