===============
== ffff65535 ==
===============
十六个一[1111111111111111]

使用java终止office进程

default

需要jdk大于等于1.8,否则需要重写convertStr()方法

import lombok.extern.slf4j.Slf4j;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.stream.Collectors;

@Slf4j
public class KillUtils {

    private static final String kill_wscript = "taskkill /f /t /im wscript.exe";
    private static final String kill_WINWORD = "taskkill /f /t /im WINWORD.exe";
    private static final String kill_POWERPNT = "taskkill /f /t /im POWERPNT.exe";
    private static final String kill_EXCEL = "taskkill /f /t /im EXCEL.exe";

    public static void main(String[] args) throws IOException {
        killOffice();
    }

    public static synchronized void killOffice() throws IOException {
        log.info("------------------------start------------------------");
        Process wscript = Runtime.getRuntime().exec(kill_wscript);
        Process winword = Runtime.getRuntime().exec(kill_WINWORD);
        Process powerpnt = Runtime.getRuntime().exec(kill_POWERPNT);
        Process excel = Runtime.getRuntime().exec(kill_EXCEL);

        convertStr(wscript, kill_wscript);
        convertStr(winword, kill_WINWORD);
        convertStr(powerpnt, kill_POWERPNT);
        convertStr(excel, kill_EXCEL);
        log.info("------------------------end------------------------");
    }

    private static void convertStr(Process process, String name) {
        String inputMsg = new BufferedReader(process.inputReader()).lines().collect(Collectors.joining("\n"));
        log.info(name + "--input:{}", inputMsg);
        String errorMsg = new BufferedReader(process.errorReader()).lines().collect(Collectors.joining("\n"));
        log.info(name + "--error:{}", errorMsg);
    }
}