java控制关闭linux进程

package com.sdd.test;

import java.io.BufferedReader;
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.PrintWriter;

public class tes {
    public static void main(String[] args) {
        String PID = getPID("/home/user/PycharmProjects/untitled/venv/bin/python twitter.py twitter");
        closeLinuxProcess(PID);
    }
    
    /**
     * 获取Linux进程的PID
     * @param command
     * @return
     */
    public static String getPID(String 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)){
                    System.out.println("相关信息 -----> "+command);
                    String[] strs = line.split("\\s+");
                    return strs[1];
                }
            }
        }catch(Exception e){
            e.printStackTrace();
        }finally{
            if(reader!=null){
                try {
                    reader.close();
                } catch (IOException e) {

                }
            }
        }
        return null;
    }
    
    /**
     * 关闭Linux进程
     * @param Pid 进程的PID
     */
    public static void closeLinuxProcess(String Pid){
        Process process = null;
        BufferedReader reader =null;
        try{
            //杀掉进程
            process = Runtime.getRuntime().exec("kill -9 "+Pid);
            reader = new BufferedReader(new InputStreamReader(process.getInputStream()));
            String line = null;
            while((line = reader.readLine())!=null){
                System.out.println("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) {

                }
            }
        }
    }
}

 

关键词:null java reader process 进程 pid string import io line

相关推荐:

微信小程序使用code换openid的方法(JAVA、SpringBoot)

Java实现网页截屏功能(基于phantomJs)

java文本识别技术(亲测,识别率很高)

java在进程启动和关闭.exe进程

java读取按行txt文档

Java 调用 shell 脚本详解

spark提交任务的两种的方法

(转)java调用python脚本

java操作linux,调用shell命令

Java 获取CPU、内存、外网IP等硬件信息