2024-03-19 14:08:11 | 我爱编程网
linux命令里的jps是什么意思?
jps(JavaVirtualMachineProcessStatusTool)是JDK1.5提供的一个显示当前所有java进程pid的命令,简单实用,非常适合在linux/unix平台上简单察看当前java进程的一些简单情况。
Java工程师需要掌握Linux的哪些方面?
基本操作,会部署程序,查看进程,内存,硬盘,会安装jdk,tomcat!基本命令例如:cp,mv,ls,ps,top,df,cd,tail,ping,ifconfig,scp,rm,chmod,chown,yum,apt-get,telnet,ftp,kill,grep等!尤其要求熟悉vim.可以熟悉掌握centos,Ubuntu!,如果想做简单维护工作的话,可以学习shell编程!
JAVA基础:java如何判断某个进程是否在启用?
这个实现起来非常简单,只需要遍历当前的进程列表,如果包含有我们查询的某个进程关键字,则说明这个进程正在启用或运行,否则,没有运行,下面我简单介绍一下实现过程,感兴趣的朋友可以尝试一下,Windows环境和Linux环境基本类似:
Windows
Java测试代码如下,基本思想先运行Tasklist命令,获取当前系统运行的所有进程,然后循环读取每个进程,与我们所要搜索的进程关键字进行匹配,如果包含有进程关键字(indexOf函数的返回值就不会是-1),则说明这个进程正在运行,否则,进程没有运行:
程序运行截图如下,这里我对进程名进行了红色标记,如下,可以看出,当前搜索的chrome进程正在运行:
Linux
这里的Java代码基本和前面的Windows平台类似,唯一的区别就是运行“ps-aux”命令获取当前系统的所有进程,然后循环遍历进程列表,如果匹配到进程的关键字,则说明搜索的进程正在运行,否则,没有运行:
程序运行截图如下,这里我也用颜色对进程名进行了标记,如下,可以看出,当前的vsftpd进程正在运行:
至此,我们就完成了利用Java来判断某个进程是否正在启用或运行。总的来说,整个过程非常简单,代码也非常容易理解,只要你有一定的Java基础,熟悉一下上面的代码,很快就能掌握的,网上也有相关教程和资料,介绍的非常详细,感兴趣的话,可以搜一下,希望以上分享的内容能对你有所帮助吧,也欢迎大家评论、留言进行补充。
一个ubuntu下运行java程序的实例
首先创建.java文件
进入某个目录,
然后创建一个.java文件:vim HelloWorld.java
在里面输入代码:
public class HelloWorld{
public static void main(String args[]){
System.out.println("Hello World in Ubuntu!");
}
}
保存并退出vim::x,回车。
编译HelloWorld.java:javac HelloWorld.java 得到HelloWorld.class文件
运行HelloWorld:sudo java HelloWorld
结果输出:Hello World in Ubuntu!
import java.io.BufferedReader;
import java.io.InputStream;
import java.io.InputStreamReader;
class StreamDrainer implements Runnable {
private InputStream ins;
public StreamDrainer(InputStream ins) {
this.ins = ins;
}
public void run() {
try {
BufferedReader reader = new BufferedReader(new InputStreamReader(
ins));
String line = null;
while ((line = reader.readLine()) != null) {
//这判断你的进程
if(line.indexOf("QQ.exe")!=-1){
System.out.println("有QQ");
}
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
public class TestRunCmd {
public static void main(String[] args) {
String[] cmd = new String[] { "cmd.exe", "/C", "wmic process get name" };
try {
Process process = Runtime.getRuntime().exec(cmd);
new Thread(new StreamDrainer(process.getInputStream())).start();
new Thread(new StreamDrainer(process.getErrorStream())).start();
process.getOutputStream().close();
} catch (Exception e) {
e.printStackTrace();
}
}
试试这样,我用的线程来做,你改run方法里面的进程名就好了
2024-03-02 02:58:47
2024-01-01 09:58:48
2024-01-26 10:37:53
2024-03-04 07:43:42
2024-01-17 23:29:33
2024-01-01 04:24:22