Tag: 进程

Java,在前台运行另一个应用程序

我想从java代码运行另一个应用程序。 Runtime rt = Runtime.getRuntime(); Process pr = rt.exec(“cmd.exe”); 流程已启动,但在后台。 如何让它在前台运行?

使用PowerShell远程运行Java

当我在远程会话( etsn {servername} )中运行PowerShell时,我有时似乎无法运行Java进程,即使是最简单的: [chi-queuing]: PS C:\temp> java -cp .\hello.jar Hello Error occurred during initialization of VM Could not reserve enough space for object heap Hello.jar是一个“Hello,world!” 应该只打印“Hello”到标准输出的应用程序。 所以,问题是,在PowerShell会话的另一端运行流程有什么特别之处吗? 有关Java VM如何工作的特殊内容可能不允许这样的处理吗? 内存是在远程计算机上分配的,对吧? 以下是可用物理内存的读数: [chi-queuing]: PS C:\temp> $mem = Get-wmiobject -class Win32_OperatingSystem [chi-queuing]: PS C:\temp> $mem.FreePhysicalMemory 1013000 但是,当我远程桌面到服务器并询问操作系统有多少可用内存时,它说270 MB物理内存可用。 让我知道你的想法!

如何执行Bash命令并从Java收集输出?

如何执行Bash命令并从Java收集输出? 大家好,基本上我正在编写一个基本的控制台应用程序,并希望能够从中运行命令,例如sudo ***,halt,ifconfig等。 任何见解?

检查进程是否在windows / linux上运行

我有一个过程 Runtime rt = Runtime.getRuntime() ; Process p = rt.exec(filebase+port+”/hlds.exe +ip “+ip+” +maxplayers “+players+ ” -game cstrike -console +port “+port+” -nojoy -noipx -heapsize 250000 +map de_dust2 +servercfgfile server.cfg +lservercfgfile +mapcyclefile mapcycle.txt +motdfile motd.txt +logsdir logs -zone 2048″,null, new File(filebase+port)) ; 我想检查这个过程是否正在运行或者在崩溃的情况下崩溃想要重新启动它,这个进程可以有多个实例,具体取决于端口 我可以在Linux和Windows上跟踪这个东西吗? 阅读一些文章,但这1有点不同,因为它涉及多次出现,只能检查一些特定的过程

处理Java虚拟机中的信号

是否可以在Java虚拟机中处理POSIX信号? 至少SIGINT和SIGKILL应该是完全独立于平台的。

java / shellscript代码,用于查明jar文件是否已在当前计算机上运行

如何确定我的计算机上是否正在运行特定的JAR文件? 我只是想确保一个特定的JAR只在任何时间执行一次 – 所以如果执行同一个jar的另一个请求进来,那么我不应该再次调用那个jar。 我可以使用上面的代码作为java代码(我将添加到该JAR本身)或shellcript(我将用于调用jar文件)。 该机器将是Linux机器 – CentOS,Debian或Ubuntu或Amazon Linux。

Java:等待exec进程直到它退出

我在Windows中运行一个java程序,从Windows事件中收集日志。 创建一个.csv文件,在该文件上执行某些操作。 命令被执行和管道。 如何让我的Java程序等到进程完成? 这是我正在使用的代码片段: Runtime commandPrompt = Runtime.getRuntime(); try { Process powershell = commandPrompt.exec(“powershell -Command \”get-winevent -FilterHashTable @{ logname = ‘Microsoft-Windows-PrintService/Operational’;StartTime = ‘”+givenDate+” 12:00:01 AM’; EndTime = ‘”+beforeDay+” 23:59:59 ‘; ID = 307 ;} | ConvertTo-csv| Out-file “+ file +”\””); //I have tried waitFor() here but that does not seem to work, required command […]

如何从java.lang.Process中关闭std -stream?

这个问题是关于java.lang.Process及其对stdin,stdout和stderr的处理。 我们的项目中有一个类,它是org.apache.commons.io.IOUtils的扩展。 我们有一个安静的新方法来关闭Process-Object的std -stream合适的? 或者它不合适? /** * Method closes all underlying streams from the given Process object. * If Exit-Code is not equal to 0 then Process will be destroyed after * closing the streams. * * It is guaranteed that everything possible is done to release resources * even when Throwables are thrown in […]

如何从Java向外部进程发送SIGINT信号?

我有一个Java应用程序,它创建一个外部进程并通过InputStream读取进程’stdout。 当我完成它时,我需要能够杀死进程。 有没有办法向这个过程发送SIGINT信号? (好像我从控制台按下Ctrl + C)。 外部进程不是我的代码,我无法修改它。

使用CMD作为过程

我正试图在Windows上直接运行命令(Linux上的终端)。 我有以下代码。 它表现得非常奇怪。 首先,运行时程序不会打印任何内容。 其次,当调试并逐步执行时,程序将打印默认的CMD文本和输入行。 最后,我似乎无法写入CMD,因此它将执行命令。 这是我的代码。 我猜它可能是一个线程问题,但我不熟悉Runtime。 Runtime r = Runtime.getRuntime(); try { Process p = r.exec(“cmd”); InputStream iStream = p.getInputStream(); BufferedReader sReader = new BufferedReader(new InputStreamReader(iStream)); while(sReader.ready()) { System.out.print((char)sReader.read()); } OutputStream oStream = p.getOutputStream(); BufferedWriter sWriter = new BufferedWriter(new OutputStreamWriter(oStream)); sWriter.write(“mkdir test”); sWriter.newLine(); while(sReader.ready()) { System.out.print((char)sReader.read()); } } catch(Exception e) { e.printStackTrace(); } […]