Java主要通过Runtime和Process执行Linux命令, Process是Runtime.exec返回值,可以用来对执行过程进行后续操作(获取结果,发送命令,等待结果)。
注意点
1. linux命令若需要执行长时间,需要调用Process的waitFor方法,等待后台任务执行完毕,否则其会自动退出;
2. waitFor方法可以设置超时时间,防止一直等待;
3. 执行需要特定环境变量的命令时,可以使用ProcessBuilder的getEnvironment;
4. 执行多个命令组合时需要使用{ "/bin/sh", "-c", cmd };
5. 需要执行多个命令时,可以用;连接。
参考文档