import lombok.SneakyThrows;
import java.awt.*;
import java.io.BufferedReader;
import java.io.File;
import java.io.IOException;
import java.io.InputStreamReader;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
/*
守护进程作用:
1. 实时监控目标进程的状态,确保该进程运行正常;
2. 对状态改变信息进行本地存储(如启动、重启、状态异常等);
*/
public class ProcessMonitor {
public static void main(String[] args) {
String processName = "redis-server.exe";
String url = "D:\\DevelopEnvironment\\JAVA\\Redis\\redis-server.exe";
while (true) {
try {
boolean isRun = false;
if (isWindows()) {
isRun = isWindowsProcessExist(processName);
if (!isRun) {
try {
System.out.println("该进程未运行....................");
startProcess(url);
} catch (IOException e) {
throw new RuntimeException(e);
}
}
} else {
isRun = isLinuxProcessExist(processName);
}
Thread.sleep(5*1000);
} catch (InterruptedException e) {
简单实现守护进程windows
最新推荐文章于 2024-07-10 17:08:52 发布