<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>进程管理 on ffff65535</title><link>https://blog.ffff65535.com/tags/%E8%BF%9B%E7%A8%8B%E7%AE%A1%E7%90%86/</link><description>Recent content in 进程管理 on ffff65535</description><generator>Hugo</generator><language>zh-cn</language><lastBuildDate>Fri, 06 May 2022 20:08:45 +0800</lastBuildDate><atom:link href="https://blog.ffff65535.com/tags/%E8%BF%9B%E7%A8%8B%E7%AE%A1%E7%90%86/index.xml" rel="self" type="application/rss+xml"/><item><title>使用java终止office进程</title><link>https://blog.ffff65535.com/posts/2022/05/06/java-kill-office-process/</link><pubDate>Fri, 06 May 2022 20:08:45 +0800</pubDate><guid>https://blog.ffff65535.com/posts/2022/05/06/java-kill-office-process/</guid><description>&lt;p>需要jdk大于等于1.8,否则需要重写convertStr()方法&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-java" data-lang="java">&lt;span style="display:flex;">&lt;span>&lt;span style="color:#f92672">import&lt;/span> lombok.extern.slf4j.Slf4j;
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#f92672">import&lt;/span> java.io.BufferedReader;
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#f92672">import&lt;/span> java.io.IOException;
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#f92672">import&lt;/span> java.io.InputStreamReader;
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#f92672">import&lt;/span> java.util.stream.Collectors;
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#a6e22e">@Slf4j&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#66d9ef">public&lt;/span> &lt;span style="color:#66d9ef">class&lt;/span> &lt;span style="color:#a6e22e">KillUtils&lt;/span> {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#66d9ef">private&lt;/span> &lt;span style="color:#66d9ef">static&lt;/span> &lt;span style="color:#66d9ef">final&lt;/span> String kill_wscript &lt;span style="color:#f92672">=&lt;/span> &lt;span style="color:#e6db74">&amp;#34;taskkill /f /t /im wscript.exe&amp;#34;&lt;/span>;
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#66d9ef">private&lt;/span> &lt;span style="color:#66d9ef">static&lt;/span> &lt;span style="color:#66d9ef">final&lt;/span> String kill_WINWORD &lt;span style="color:#f92672">=&lt;/span> &lt;span style="color:#e6db74">&amp;#34;taskkill /f /t /im WINWORD.exe&amp;#34;&lt;/span>;
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#66d9ef">private&lt;/span> &lt;span style="color:#66d9ef">static&lt;/span> &lt;span style="color:#66d9ef">final&lt;/span> String kill_POWERPNT &lt;span style="color:#f92672">=&lt;/span> &lt;span style="color:#e6db74">&amp;#34;taskkill /f /t /im POWERPNT.exe&amp;#34;&lt;/span>;
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#66d9ef">private&lt;/span> &lt;span style="color:#66d9ef">static&lt;/span> &lt;span style="color:#66d9ef">final&lt;/span> String kill_EXCEL &lt;span style="color:#f92672">=&lt;/span> &lt;span style="color:#e6db74">&amp;#34;taskkill /f /t /im EXCEL.exe&amp;#34;&lt;/span>;
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#66d9ef">public&lt;/span> &lt;span style="color:#66d9ef">static&lt;/span> &lt;span style="color:#66d9ef">void&lt;/span> &lt;span style="color:#a6e22e">main&lt;/span>(String&lt;span style="color:#f92672">[]&lt;/span> args) &lt;span style="color:#66d9ef">throws&lt;/span> IOException {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> killOffice();
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> }
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#66d9ef">public&lt;/span> &lt;span style="color:#66d9ef">static&lt;/span> &lt;span style="color:#66d9ef">synchronized&lt;/span> &lt;span style="color:#66d9ef">void&lt;/span> &lt;span style="color:#a6e22e">killOffice&lt;/span>() &lt;span style="color:#66d9ef">throws&lt;/span> IOException {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> log.&lt;span style="color:#a6e22e">info&lt;/span>(&lt;span style="color:#e6db74">&amp;#34;------------------------start------------------------&amp;#34;&lt;/span>);
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> Process wscript &lt;span style="color:#f92672">=&lt;/span> Runtime.&lt;span style="color:#a6e22e">getRuntime&lt;/span>().&lt;span style="color:#a6e22e">exec&lt;/span>(kill_wscript);
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> Process winword &lt;span style="color:#f92672">=&lt;/span> Runtime.&lt;span style="color:#a6e22e">getRuntime&lt;/span>().&lt;span style="color:#a6e22e">exec&lt;/span>(kill_WINWORD);
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> Process powerpnt &lt;span style="color:#f92672">=&lt;/span> Runtime.&lt;span style="color:#a6e22e">getRuntime&lt;/span>().&lt;span style="color:#a6e22e">exec&lt;/span>(kill_POWERPNT);
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> Process excel &lt;span style="color:#f92672">=&lt;/span> Runtime.&lt;span style="color:#a6e22e">getRuntime&lt;/span>().&lt;span style="color:#a6e22e">exec&lt;/span>(kill_EXCEL);
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> convertStr(wscript, kill_wscript);
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> convertStr(winword, kill_WINWORD);
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> convertStr(powerpnt, kill_POWERPNT);
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> convertStr(excel, kill_EXCEL);
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> log.&lt;span style="color:#a6e22e">info&lt;/span>(&lt;span style="color:#e6db74">&amp;#34;------------------------end------------------------&amp;#34;&lt;/span>);
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> }
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#66d9ef">private&lt;/span> &lt;span style="color:#66d9ef">static&lt;/span> &lt;span style="color:#66d9ef">void&lt;/span> &lt;span style="color:#a6e22e">convertStr&lt;/span>(Process process, String name) {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> String inputMsg &lt;span style="color:#f92672">=&lt;/span> &lt;span style="color:#66d9ef">new&lt;/span> BufferedReader(process.&lt;span style="color:#a6e22e">inputReader&lt;/span>()).&lt;span style="color:#a6e22e">lines&lt;/span>().&lt;span style="color:#a6e22e">collect&lt;/span>(Collectors.&lt;span style="color:#a6e22e">joining&lt;/span>(&lt;span style="color:#e6db74">&amp;#34;\n&amp;#34;&lt;/span>));
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> log.&lt;span style="color:#a6e22e">info&lt;/span>(name &lt;span style="color:#f92672">+&lt;/span> &lt;span style="color:#e6db74">&amp;#34;--input:{}&amp;#34;&lt;/span>, inputMsg);
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> String errorMsg &lt;span style="color:#f92672">=&lt;/span> &lt;span style="color:#66d9ef">new&lt;/span> BufferedReader(process.&lt;span style="color:#a6e22e">errorReader&lt;/span>()).&lt;span style="color:#a6e22e">lines&lt;/span>().&lt;span style="color:#a6e22e">collect&lt;/span>(Collectors.&lt;span style="color:#a6e22e">joining&lt;/span>(&lt;span style="color:#e6db74">&amp;#34;\n&amp;#34;&lt;/span>));
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> log.&lt;span style="color:#a6e22e">info&lt;/span>(name &lt;span style="color:#f92672">+&lt;/span> &lt;span style="color:#e6db74">&amp;#34;--error:{}&amp;#34;&lt;/span>, errorMsg);
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> }
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>}
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div></description></item></channel></rss>