【从Java进程访问子进程控制终端】教程文章相关的互联网学习教程文章

用Python的子进程模块包装Java程序的问题【代码】

我有一个小的Java程序,可以使用以下语法从命令行运行: java -jar EXEV.jar -s:myfile 这个Java程序将一些数据打印到屏幕上,我想将标准输出重定向到一个名为output.txt的文件中.from subprocess import Popen, PIPEdef wrapper(*args):process = Popen(list(args), stdout=PIPE)process.communicate()[0]return processx = wrapper('java', '-jar', 'EXEV.jar', '-s:myfile', '>', 'output.txt')当我运行上面的命令时,永远不会写入...

java-子进程在Windows中既不会完成也不会中止?【代码】

如何使我的java父进程等到子进程完成.我尝试使用runtime.exec和processBuilder.pb:String cmd = "ffmpeg -i input.vob output.mp4" Runtime rt = Runtime.getRuntime(); Process proc = rt.exec(cmd); proc.waitFor();这对于较小的输入文件(例如,小于10 Mb)可以正常工作.如果我提供较大的输入文件,则程序将被挂起.输出文件将被部分创建,文件创建将被挂起,控件将不会返回.甚至proc.join(10000);没有给出任何有用的结果.在此,父进...

bash说话的Java子进程?【代码】

我正在尝试制作一个bash脚本,该脚本将与通过bash等待我的命令的java程序对话. Java程序作为具有有限GUI的服务器运行,因此我正在为其创建一个基本UI来为其添加功能,有关此主题的任何帮助都将是不错的. 我目前尝试启动它的方式是:INPUTFD=258 #exec "$INPUTFD"> >(exec java -Xmx512M -Xms512M -jar server.jar)用这样的命令(echo "kick ${user}") >&"$INPUTFD"我现在正在使用的那个java -Xmx512M -Xms512M -jar server.jar & echo ...

如果从Java启动,子进程将忽略SIGQUIT【代码】

举一个简单的例子:public class Main {public static void main(String[] args) throws Exception{Runtime.getRuntime().exec("sleep 1000");// This is just so that the JVM does not exitThread.sleep(1000 * 1000);} }我正在使用openjdk6在Linux上运行它.如果我尝试将SIGQUIT信号发送到“睡眠”进程,它将忽略它.其他信号(SIGINT,SIGTERM等)都可以正常工作,但是SIGQUIT被忽略.如果我只是在不使用Java的情况下从shell运行sleep ...

Java ProcessBuilder process.destroy()不会在winXP中杀死子进程

我有一个java应用程序,它使用ProcessBuilder来准备操作系统命令并给我一个Process对象. (实际的os命令是使用cygwin通过ssh进行rsync). 这在Windows中运行良好,但是如果我想使用process.destroy()停止进程,它不会杀死子ssh和rsync进程…..我必须使用Windows任务管理器手动杀死它们. 是否可以获取进程的OutputStream并在调用destroy()之前以某种方式发送ctrl-c;? 如果有人对解决方法有任何想法,那就太好了.谢谢,d解决方法:我也认为模...

java – 使用JPA注释自动从子进程中删除子进程和子进程中的子进程【代码】

假设我们有3个Entities对象类:class Parent {String name;List<Child> children; }class Child {String name;Parent parent; }class Toy {String name;Child child; }如何使用JPA2.x(或hibernate)注释: >父删除时自动删除所有子项(一对多)>删除子项时从子项列表中自动删除子项(多对一)>儿童移除时自动删除玩具(一对一) 我正在使用Hibernate 4.3.5和mysql 5.1.30. 谢谢解决方法:正如this article中所解释的,删除entity state tran...

退出后,Java流程构建器子进程继续【代码】

我正在开发一个自动更新脚本,该脚本应该能够在守护程序完成后重新启动它. 我正在尝试这个:final ArrayList<String> command = new ArrayList<String>();String initScriptPath = Config.GetStringWithDefault("init_script", "/etc/init.d/my-daemon");command.add("/bin/bash");command.add("-c");command.add("'" + initScriptPath + " restart'");StringBuilder sb = new StringBuilder();for (String c : command) {sb.append...

Java,等待子进程退出【代码】

使用Java的ProcessBuilder我正在创建一组子进程.我可以使用生成的Process对象中的waitFor()方法等待该特定子进程退出. 是否可以阻止任何子进程,以UNIX wait()系统调用的方式?解决方法:第一步是将每个子进程完成的工作表示为Future,如下所示:final ProcessBuilder builder = ...;// for each process you're going to launch FutureTask task = new FutureTask(new Callable<Integer>() {@Override public Integer call() {return...