1、Process类介绍
Process类是一个抽象类(所有的方法均是抽象的),封装了一个进程(即一个执行程序)。
Process 类提供了执行从进程输入、执行输出到进程、等待进程完成、检查进程的退出状态以及销毁(杀掉)进程的方法。
ProcessBuilder.start() 和 Runtime.exec 方法创建一个本机进程,并返回 Process 子类的一个实例,该实例可用来控制进程并获取相关信息。
2、使用Runtime.exec执行cmd命令备份mysql数据库
private boolean backup(String username, String password, String mysqldump, String filePath) {
boolean bool = false;
String cmd = mysqldump;
String dir = filePath;
if (!dir.substring(dir.length() - 1).equals(File.separator)) {
dir += File.separator;
}
dir += "bak_" + new SimpleDateFormat("yyyyMMdd_HHmmss").format(new Date()) + ".sql";
cmd = cmd + " -u " + username + " --password=" + password + " fcs > " + dir;
System.out.println(cmd);
try {
Process p = Runtime.getRuntime().exec("cmd /C " + cmd);
p.waitFor();
bool = true;
} catch (Exception e) {
e.printStackTrace();
}
return bool;
}
说明: p.waitFor()表示当前线程等待process这个线程执行完毕,再开始往下执行。该方法返回0时表示正常终止。
运维网声明
1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网 享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com