zoukankan      html  css  js  c++  java
  • Java对Linux进程关闭

    import java.io.BufferedReader;
    import java.io.IOException;
    import java.io.InputStreamReader;
    
    import org.apache.log4j.Logger;
    
    import com.talkweb.thread.SignatureSynthesisThread;
    
    /**
     * 操作Linux进程工具类
     * 
     * @author Administrator
     *
     */
    public class LinuxProcessUtil {
    
        private static Logger logger = Logger.getLogger(LinuxProcessUtil.class);
        
        /**
         * 获取指定进程的PID
         * 
         * @param command
         * @return
         */
        public static String getPID(String command) throws Exception {
            logger.info("相关信息 -----> " + command);
            BufferedReader reader = null;
            try {
                // 显示所有进程
                Process process = Runtime.getRuntime().exec("ps -ef");
                reader = new BufferedReader(new InputStreamReader(process.getInputStream()));
                String line = null;
                while ((line = reader.readLine()) != null) {
                    if (line.contains(command)) {
                        logger.info("找到有关进程:"+line);
                        String[] strs = line.split("\s+");
                        return strs[1];
                    }
                }
            } catch (Exception e) {
                e.printStackTrace();
                throw e;
            } finally {
                if (reader != null) {
                    try {
                        reader.close();
                    } catch (IOException e) {
    
                    }
                }
            }
            logger.info("找不到有关进程pid返回null");
            return null;
        }
    
        /**
         * 关闭Linux进程
         * 
         * @param Pid 进程的PID
         */
        public static void closeLinuxProcess(String Pid) {
            Process process = null;
            BufferedReader reader = null;
            try {
                // 杀掉进程
                logger.info("准备执行 kill -9 " + Pid);
                process = Runtime.getRuntime().exec("kill -9 " + Pid);
                reader = new BufferedReader(new InputStreamReader(process.getInputStream()));
                String line = null;
                while ((line = reader.readLine()) != null) {
                    logger.info("kill PID return info -----> " + line);
                }
            } catch (Exception e) {
                e.printStackTrace();
            } finally {
                if (process != null) {
                    process.destroy();
                }
    
                if (reader != null) {
                    try {
                        reader.close();
                    } catch (IOException e) {
    
                    }
                }
            }
        }
    
    }

    package com.talkweb.utils;
    import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;
    import org.apache.log4j.Logger;
    import com.talkweb.thread.SignatureSynthesisThread;
    /** * 操作Linux进程工具类 *  * @author Administrator * */public class LinuxProcessUtil {
    private static Logger logger = Logger.getLogger(LinuxProcessUtil.class);/** * 获取指定进程的PID *  * @param command * @return */public static String getPID(String command) throws Exception {logger.info("相关信息 -----> " + command);BufferedReader reader = null;try {// 显示所有进程Process process = Runtime.getRuntime().exec("ps -ef");reader = new BufferedReader(new InputStreamReader(process.getInputStream()));String line = null;while ((line = reader.readLine()) != null) {if (line.contains(command)) {logger.info("找到有关进程:"+line);String[] strs = line.split("\s+");return strs[1];}}} catch (Exception e) {e.printStackTrace();throw e;} finally {if (reader != null) {try {reader.close();} catch (IOException e) {
    }}}logger.info("找不到有关进程pid返回null");return null;}
    /** * 关闭Linux进程 *  * @param Pid 进程的PID */public static void closeLinuxProcess(String Pid) {Process process = null;BufferedReader reader = null;try {// 杀掉进程logger.info("准备执行 kill -9 " + Pid);process = Runtime.getRuntime().exec("kill -9 " + Pid);reader = new BufferedReader(new InputStreamReader(process.getInputStream()));String line = null;while ((line = reader.readLine()) != null) {logger.info("kill PID return info -----> " + line);}} catch (Exception e) {e.printStackTrace();} finally {if (process != null) {process.destroy();}
    if (reader != null) {try {reader.close();} catch (IOException e) {
    }}}}
    }

  • 相关阅读:
    【Java每日一题】20170111
    【Java每日一题】20170110
    【Java每日一题】20170109
    【Java每日一题】20170106
    【Java每日一题】20170105
    【Java每日一题】20170104
    【Java每日一题】20170103
    【Java每日一题】20161230
    【Java每日一题】20161229
    【Java每日一题】20161228
  • 原文地址:https://www.cnblogs.com/RivenLw/p/10477488.html
Copyright © 2011-2022 走看看