Tag: 进程

如何设置父进程的工作目录?

正如标题所揭示的那样,我们正在编写一个Unix风格的shell工具U ,它应该在bash中调用(在大多数情况下)。 U怎么能改变bash(或者一般的父母)的工作目录? PS shell实用程序chdir成功完成相同的操作,因此必须有一个实现这一效果的程序化方法。

subprocess:在Windows中删除subprocess

在Windows上, subprocess.Popen.terminate调用win32的TerminalProcess 。 但是,我看到的行为是我正在尝试终止的进程的subprocess仍在运行。 这是为什么? 如何确保stream程启动的所有subprocess都被终止?

在64位Windows上列出正在运行的进程

我amm写一个小的python脚本,将从我正在运行的Windows虚拟机中获取信息。 目前我可以使用以下方法在32位XP机器上列出进程: http://code.activestate.com/recipes/305279/ 是否有可能以某种方式检测正在运行的Windows版本,并执行一个不同的方法来获取64位机器上的进程,我试图从64位Vista和64位Windows 7获得进程。 有任何想法吗?

如何在c ++中检测win32进程的创build/终止

我知道要接收有关win32进程创build或终止的通知,我们可以使用API​​ PsSetCreateProcessNotifyRoutine()来实现一个NT内核模式驱动程序,它提供了注册系统范围的callback函数的能力,每当新进程启动退出或终止。 我的问题是,如果这是可能的而不创build一个NT内核模式驱动程序,只使用win32 api函数使用c + +? 没有使用无限循环的基本解决scheme查询活动进程的列表当然。 是否有任何库或win32 API提供相同的function(系统范围的callback,asynchronous事件,…)? 谢谢

运行时的exec()方法不redirect输出

Process p = Runtime.getRuntime().exec("sh somescript.sh &> out.txt"); 我正在使用Java运行此命令。 脚本正在运行,但不会将其streamredirect到文件。 而且, out.txt文件没有被创build。 这个脚本运行良好,如果我在shell上运行它。 有任何想法吗?

我如何发送ctrl + c到c#中的进程?

我正在编写一个命令行可执行文件的包装类。 这个EXE接受来自stdin的input,直到我在命令提示符shell中按ctrl + c,在这种情况下,它将基于input的输出打印到标准输出。 我想模拟ctrl + c按c#代码,发送杀死命令到一个.Net过程对象。 我已经尝试过调用Process.kill(),但是在进程的StandardOutput StreamReader中似乎没有给我任何东西。 可能有什么我不正确的做法? 这是我正在尝试使用的代码: ProcessStartInfo info = new ProcessStartInfo(exe, args); info.RedirectStandardError = true; info.RedirectStandardInput = true; info.RedirectStandardOutput = true; info.UseShellExecute = false; Process p = Process.Start(info); p.StandardInput.AutoFlush = true; p.StandardInput.WriteLine(scriptcode); p.Kill(); string error = p.StandardError.ReadToEnd(); if (!String.IsNullOrEmpty(error)) { throw new Exception(error); } string output = p.StandardOutput.ReadToEnd(); 但是输出总是空的,即使我手动运行exe时从stdout中获取数据。 编辑:这是c#2.0顺便说一句

我怎样才能得到一个进程句柄的C ++名称?

我想要得到example.exe的进程句柄,所以我可以在它上面调用TerminateProcess 。 我该怎么做? 注意,它没有窗口,所以FindWindow将不起作用。

如何守护Java程序?

我有一个Java程序,我想在Linux系统上守护进程。 换句话说,我想开始在一个shell中运行它,并在退出后继续运行它。 我也希望能够干净地停止程序。 我发现这篇文章使用了shell脚本和Java代码的结合。 它看起来不错,但如果可能的话,我想要更简单一些。 在Linux系统上将Java程序进行守护程序的首选方法是什么?

是否有单个.NET进程的内存限制

我们目前正在考虑构build一个caching系统来保存从SQL数据库中提取的数据,并将其提供给其他一些应用程序(网站,webservice等)。 我们将caching想象成一个windows服务,基本上由一个包含caching条目的智能字典组成。 我的问题是,应用程序的工作集有没有限制(它将在Windows Server 2003下运行)? 或者是物理内存量的限制?

如何在另一个java程序中编译和运行java程序?

我有一个Main.java和Test.java类,我想在Test.java代码中编译和运行Main.java。 这是我的代码 Process pro1 = Runtime.getRuntime().exec("javac Main.java"); pro1.waitFor(); Process pro2 = Runtime.getRuntime().exec("java Main"); BufferedReader in = new BufferedReader(new InputStreamReader(pro2.getInputStream())); String line = null; while ((line = in.readLine()) != null) { System.out.println(line); } 我只是在Main.java中打印“ok”,但是这个代码不打印任何东西。 问题是什么 ?