`
suifeng
  • 浏览: 181494 次
  • 性别: Icon_minigender_1
  • 来自: 天津
社区版块
存档分类
最新评论

java 执行windows程序

阅读更多

java执行windows程序很简单, 一句话搞定

 

Runtime.getRuntime().exec("cmd /c echo hello world!");
Runtime.getRuntime().exec("notepad.exe");

 

 

但是要在要做安全管理下执行, 那就不容易了---折腾了两天, 终于解决了.

 

说来也简单, 就是修改 java.policy文件 ($(dir)\jre\lib\security\java.policy) 里面 加入一句 

 

   permission java.io.FilePermission "exe_path", "execute";
 

 

但是 exe_path 却折腾人, 折腾出来的经验是:

1, exe_path必须使用绝对路径

2, windows下的路径分隔符 要使用 \\ 双杠(最初使用单杠 总是报异常, 看来jvm对待java.policy像java代码一样, 是转义的, 使用/分割也行).

 

对于上面的exe_path处, 也可以使用 <<ALL FILES>>,但是它授权给所有文件,java文档里面指出一定要慎重.

 

 

参考:

企业内部网中使用Policy文件来设置Java的安全策略

 

FilePermission

java安全管理器

 

 

附 : windows 中有个 tasklist程序, 可以查看每个进程使用的cpu时间, 据初步验证可以根据tasklist /v的输出,计算cpu的使用率; 对于服务器cpu使用率监控程序, 可以据此实现. 尤其要注意cpu的个数.

大致有如下 数学关系

 

cpu个数  *  时间 ==  各进程总cpu时间

 

对于某个进程P, 在时间点t1的cpu时间为 cpu1, 

在时间点 t2 的cpu时间为 cpu2

那么在t2到t1之间cpu的占用率为

 

p的cpu的使用率 = (cpu2 - cpu1) / ((t2-t1) * cpu个数)

 

把p设置成 空闲进程, 那么 1- p的cpu的使用率 就是 系统的cpu使用率.

 

执行 echo %number_of_processors% 可以获取cpu个数或核数

2
1
分享到:
评论
2 楼 suifeng 2010-03-15  
greatghoul 写道
引用
windows下的路径分隔符 要使用 \\ 双杠(最初使用单杠 总是报异常, 看来jvm对待java.policy像java代码一样, 是转义的, 使用/分割也行).


这个必然会转义,因为是在字符串里面嘛。

呵呵, 这个嘛, 区分就在于 是程序字符串 还是普通字符串, window 文件夹里面的就是使用的单斜杠;
呵呵, 凡是遇到路径问题, 都要考虑是
程序字符串
还是
普通字符串
程序字符串自然涉及转义了
1 楼 greatghoul 2010-03-15  
引用
windows下的路径分隔符 要使用 \\ 双杠(最初使用单杠 总是报异常, 看来jvm对待java.policy像java代码一样, 是转义的, 使用/分割也行).


这个必然会转义,因为是在字符串里面嘛。

相关推荐

    java程序做成Windows服务运行

    Java程序在Windows操作系统上作为服务运行,是一种常见的部署方式,特别是在需要后台持续运行且与系统启动同步的应用场景中。要实现这一目标,我们可以利用开源工具Winsw,它是一个小型的Windows服务封装器,允许...

    java的windows自动化-自动运行java程序

    java的windows自动化-自动运行java程序java的windows自动化-自动运行java程序

    java调用windows命令

    在Java编程中,有时我们需要在程序中调用Windows系统的命令行操作,例如执行外部程序、系统命令或者进行文件操作。Java提供了Runtime类和Process类来实现这一功能。以下是如何使用Java调用Windows命令行的详细步骤和...

    java调用Windows应用程序

    ### Java调用Windows应用程序知识点详解 #### 一、概述 在Java编程中,有时我们需要让Java程序去调用操作系统中的其他应用程序,例如打开记事本(Notepad)、启动计算器(Calculator)等。这种方式不仅可以增强...

    java程序注册windows 服务

    在Java编程环境中,将Java程序注册为Windows服务是一项常见的任务,尤其当你的应用程序需要在系统启动时自动运行或后台持续运行时。这个过程涉及到Java的JNI(Java Native Interface)和Windows的服务管理API。以下...

    shell,bat脚本运行java程序

    下面将详细介绍如何使用shell脚本(适用于Unix/Linux系统)和bat脚本(适用于Windows系统)来运行Java程序。 **shell脚本运行Java程序** 在Unix/Linux环境中,我们可以创建一个.sh文件作为shell脚本来执行Java程序...

    Java11安装程序包Windows64位版本.zip

    安装Java 11 JDK的过程一般包括解压压缩包,运行安装程序(在这个例子中是“Java11安装程序包Windows64位版本.exe”),按照向导指示进行安装,设置环境变量(如`JAVA_HOME`、`PATH`),然后可以通过`java -version`...

    Java项目Windows环境一键部署_javawindows环境一键部署_

    - 使用工具如Launch4j或JSmooth,可以将Java应用程序打包为Windows下的.exe文件,这样用户无需安装JDK即可运行。这些工具会创建一个外壳程序,该程序包含Java虚拟机(JVM)并加载Java类,使得非开发人员也能轻松...

    java程序生成windows服务

    在Java开发中,有时我们需要将Java应用程序作为Windows服务运行,以便在系统启动时自动启动我们的应用,或者在后台持续运行而无需用户交互。这通常通过一个名为“Wrapper”的工具来实现,例如Tanuki Software的Java ...

    如何制作Java可执行程序

    在Java编程中,将程序制作成可执行程序主要是为了方便用户直接运行而无需通过命令行。Java的可执行程序通常是指JAR(Java Archive)文件,它包含了一系列的类文件、资源文件以及相关的元数据。以下是三种常见的生成...

    java程序做windows服务,随机启动

    在Windows操作系统中,Java程序通常以可执行JAR文件的形式运行。然而,为了实现Java程序在Windows开机时自动启动,并且在用户登录之前就已经运行,我们需要将其转化为一个Windows服务。这个过程涉及到Java程序的打包...

    Java程序快速转换为windows服务运行

    ### Java程序快速转换为Windows服务运行 在现代企业级应用环境中,经常需要将Java应用程序部署为后台服务,以便实现自动启动、持续运行等需求。本文将详细介绍如何利用Java Service Wrapper工具将Java程序转换为...

    Java打包成windows下可运行的程序

    java打exe java客户端 exe4j innosetup jar2exe Java打包成windows下可运行的程序

    java的windows启动脚本

    java的windows启动脚本

    将java程序做成windows系统服务

    在Windows操作系统中,Java应用程序通常以命令行方式运行。然而,为了实现自动化启动和后台运行,我们可以将Java程序转换为Windows服务。这个过程涉及到几个关键步骤和技术,包括使用特定的工具来包装Java程序并将其...

    java获取当前windows进程pid

    功能:获取java进程pid 进程可根据该pid调用exec自杀 注意事项:不能改变PidTool.java所在的包,否则需要重行生成dll。 编译命令中 "-PidTool.dll" 改为 "-FePidTool.dll",我整漏了! 使用方法: 1.javac PidTool...

    java 最终仿windows标准计算器 英杰

    ".exe"文件是Windows平台上的可执行文件,而".jar"文件是Java的可执行程序包,可以直接通过Java运行时环境执行。".txt"文件可能是项目的说明文档,包含了使用指南、开发过程、源代码注释等内容。 总的来说,这个...

    Windows服务自动重启Java服务

    在Windows操作系统中,Java服务是通过Java的Java Service Wrapper(JSW)或者Windows服务宿主(Service Host,svchost.exe)来实现后台运行的。这些服务通常用于提供持续的系统功能,例如Web服务器、数据库连接或...

    java开发的一个windows的远程监控软件

    因此,这个软件能够运行在Windows环境中,对其他同样运行Windows的设备进行远程监控。 描述中的“安装完成后可以对目标的windows进行监控”揭示了该软件的安装流程以及它的核心功能。一旦在一台电脑上安装完毕,它...

Global site tag (gtag.js) - Google Analytics