问题标签 [external-process]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - 如何将外部模块的日志消息打印到主要 Python 模块的终端窗口?
我正在编写一个 Python 命令行程序。
有一个主要的 Python 脚本文件,作为入口点。当用户运行此脚本时,它将执行一些外部 Python 脚本文件。外部 Python 脚本文件也可以执行其他外部 Python 脚本文件。外部文件的数量是可变的。
Python 脚本将使用以下命令执行外部 Python 脚本:
当我在终端窗口中运行主要的 Python 脚本时,它会在运行时在屏幕上打印实时日志消息。现在,我想从主 Python 脚本调用的所有外部 Python 脚本中获取所有日志消息,并将其打印到同一个终端窗口(我用来运行主脚本的终端窗口)。
例如,下面是脚本执行的顺序:
当我在终端窗口中运行主脚本时,是否可以在终端窗口上获得实时日志消息,如下所示?
是否有可能real time log messages
在终端窗口中得到类似的结果?
code-injection - 启动外部进程,然后向其注入 dll
我有一个游戏,一个在线游戏的客户端,那个游戏是另一个人写的,不是我。
我想给这个游戏注入一个dll来防止玩家被黑客入侵!
我将game.exe重命名为Loader.dat
我想编写一个game.exe(假)调用loader.dat来运行然后将我的dll注入它的进程(loader.dat进程)
我该怎么做?
我已经阅读了一些关于运行 ext 程序的建议,并将 dll 注入另一个进程!
但这是两个不同的项目,我尝试加入一个项目!在我在这里问这个问题之前,我假了很多时间!
java - MyRuntime.exec() 说找不到文件
这是JAVA编程语言问题
这是我试图执行的代码:
输出是:
如您所见,curl.exe 存在于目录中。但 Runtime.exec() 似乎不认识它..
我该怎么做才能解决它?谢谢
java - How to reliably read and write to a running external process from Java?
I would like to be able to spawn an external process from Java, and periodically write to its input and read the response as if it were the console. Much of the time, however, when I read the process' output, nothing is available. Is there a good practice to do this sort of thing (even avoiding it)?
Here's a stripped down example of what doesn't work:
Strangely, if I wrap up the OutputStream in a BufferedWriter, the I can read from some processes (cat), but not others (awk, grep).
node.js - Nodejs子进程:从已经初始化的进程写入标准输入
我正在尝试phantomjs
使用节点生成一个外部进程child_process
,然后在初始化后向该进程发送信息,这可能吗?
我有以下代码:
但我在标准输出上得到的唯一东西是 phantomjs 控制台的初始提示。
所以似乎child.stdin.write
没有任何效果。
我不确定我是否可以在初始生成时向 phantomjs 发送其他信息。
提前致谢。
c# - 使用 C# System.Diagnostics.Process 运行 powershell 脚本,powershell 脚本看不到任何参数
我决定使用 System.Diagnostics.Process 来运行一个 powershell 脚本,只是因为它看起来很简单,我不关心结果输出,我希望用户能够看到正在运行的内容
当我运行它时,脚本看不到任何参数。由于 noexit 我可以在最后测试 $args 和 $MyInvocation 。没有争论。如果我在 cmd.exe 中运行它,它可以工作,如果我离开 {1},它会抱怨 -XmlConfigFile 缺少一个参数。
编辑:原来这是我的错我正在运行嵌套的powershell会话来处理强制powershell使用4.0并且只传递不包含$ psboundparameters中的参数的args。
c# - 您可以从另一个程序编译 C++ 文件以生成汇编程序输出吗?
假设计算机上安装了编译器(G++ 或 VC++),有没有办法从 C# 编译 C++ 文件?
debugging - Visual Studio 2012 调试外部程序——模块列表为空
我创建了一个 .Net (C#) DLL,以便通过 COM 从旧版应用程序中使用。我可以启动旧版应用程序、实例化 COM 对象并使用它——没问题。我可以启动(或切换回)Visual Studio,选择调试/附加到进程,然后选择旧应用程序进程。然后,所有源文件旁边都有“锁定”图标,VS 标题栏更改为项目名称旁边有“(运行)”。我可以设置断点,并且从旧版应用程序中执行 COM 对象允许我逐步调试。但是,VS(当然)不允许编辑代码来修复问题(甚至更正注释中的拼写错误)。Debug / Windows / Modules 窗口显示旧进程和我的 DLL 以及已为我的 DLL 加载的符号。退出旧版应用程序(不足为奇)会移除“锁定”
如果我将 COM 对象的项目设置为启动(在解决方案设置中),将项目的调试页面设置为“启动外部程序”并按 F5 启动旧版应用程序,我可以实例化和运行 COM 对象。标题栏再次显示“(正在运行)”并出现锁定图标。将鼠标悬停在断点上会显示一个工具提示,显示我们在哪里——
进程“legacyapp.exe”中的文件名.cs,第 x 行字符 y(“namespace.class.method()”)
但是断点不会停止,模块窗口是空的——旧应用程序和我的 DLL 都没有显示在那里。(所以我想调试不起作用也就不足为奇了。)
我知道我已经能够在 Visual Studio 2010 中成功地完成“通过启动外部程序来调试基于 .Net 的 COM DLL”的事情。有谁知道可能导致这种情况的原因,更重要的是,我有任何建议可以尝试让它工作吗?
scala - 使用 sbt 从 scala 运行外部进程!Windows下的运算符
我的 scala 程序中有以下两行
program.bat 看起来像这样
该程序实际上启动了tomcat服务器,但对于firefox,notepad等都是一样的......所以我将它简化为notepad.exe
我想启动记事本并看到“started 0”。
问题是代码停在第一行并且在我关闭记事本之前不会打印“started 0”
program.bat 的最后一行是
并且 DONE 是执行停止之前打印出来的最后一件事(所以我假设它不会在 program.bat 中停止)。
我尝试将 EXIT /B 0 放在我的 program.bat 脚本的末尾,但它并没有改变任何东西。
我听说它在 linux 下运行良好(当然使用 program.sh)。
有什么建议可以真正从 program.bat 中分离记事本并返回 0?
ubuntu - Unix script command not capturing stdin when launched as external process
My situation is similar to Redirect Stdin and Stdout to File. I want to run a program and capture the entire session (stdin and stdout) of running a program as though it had been run interactively from a terminal.
From Dump terminal session to file I found out that the script
command would work. Here is a simplified version of my program (written in Groovy) that does this.
The program I wrote works on the version of script available on OS X. On OS X, the entire session is captured in the sysout variable and also written to the OUTPUT_FILE correctly.
Here's what I expect to get
However, here is what I get on Linux (Ubuntu 12.04), it omits everything that was typed into STDIN and only captures STDOUT. Here is the content of sysout and OUTPUT_FILE
As you can see, the lines a = 4, b = 5, etc
are missing.
When I run the script
command manually on Linux from the command line prompt (script -q -f -c bc output.txt}
and enter the lines one by one, it works, i.e., all the lines are also written to OUTPUT_FILE.
What additional steps do I need to do to get my program to work on Linux? I know that the program works on OS X so it is unlikely to be a problem with the program (or Groovy). I suspect that it must be something with how the Linux version of script behaves when launched as an external process.
Any pointers would be appreciated.