Articles of 进程

Python多处理不断产生pythonw.exe进程,而不做任何实际的工作

我不明白为什么这个简单的代码 # file: mp.py from multiprocessing import Process import sys def func(x): print 'works ', x + 2 sys.stdout.flush() p = Process(target= func, args= (2, )) p.start() p.join() p.terminate() print 'done' sys.stdout.flush() 不断创build“pythonw.exe”进程,即使我从命令行运行它也不会打印任何东西: python mp.py 我在32位和64位的Windows 7上运行最新的Python 2.6

运行Windows程序并检测它何时以C ++结束

假设我运行一个应用程序,一段时间后,这个应用程序将被用户closures。 有没有可能找出程序何时退出? 当我运行该应用程序时,我可以得到它的进程ID吗?

如何从Windows服务作为不同的用户运行进程

我已经创build了一个在用户login之前已经启动的服务。该服务以“networking服务”用户身份运行。 它不时需要运行一个更新过程,这个过程需要作为一个域用户运行。 必须考虑在更新过程开始时没有用户login的情况。 由于密码规则(需要不时更改),不能以域用户的身份运行服务。 需要运行更新过程时,域用户的密码是从另一台机器获取的。 我的问题是,该服务能够创build进程作为域用户与CreateProcessWithLogonW但一旦进程开始立即销毁。 返回值是0,我没有得到stdout和没有stderr。 我得到的唯一提示是错误代码为0xc0000142的事件日志中的条目。 我也尝试了我在网上find的其他几个解决scheme。 但是没有解决scheme。 例如我也尝试过LogonUser – > Adjust privileges – > CreateProcessAsUser。 操作系统是Windows 7.更新程序只是一个控制台应用程序。 我只需要返回代码,stdout和stderr。 当进程启动时,不应该popup窗口。 任何人都可以帮助我一个工作解决scheme? 最好的将是Python中的一个例子。 提前致谢。 最好的问候,马丁 更新:目前我结束了以下代码: import os import sys import types import subprocess import ctypes from ctypes import wintypes import win32con import win32event import win32api import win32security kernel32 = ctypes.WinDLL('kernel32', use_last_error = True) […]

我怎样才能在Windows中查看正在执行的Java程序的类path和jvm参数

在* nix我只是做ps -ef | grep java ps -ef | grep java来查看正在执行的java程序的jvm参数和类path。 我怎样才能看到它在Windows命令提示符? 我想看看某些jar是否在运行weblogic服务器的类path中。

将命令添加到cmd历史logging

我试图在Windows CMDterminal内运行控制台程序。 有用。 但我运行的程序没有添加到历史。 String[] command = {"cmd.exe", "/C", "\"start cmd.exe /K \"" + commandLine + "\"\""}; ProcessBuilder builder = new ProcessBuilder().command(command); start = builder.start(); 我想增加用户的能力,最近很容易重新运行这个程序。 有没有办法将命令添加到cmd.exe历史logging?

在Python中检测64位操作系统(Windows)

有谁知道我将如何去检测什么位版本的Windows在Python下。 我需要知道这是为Program Files使用正确的文件夹的一种方式。 非常感谢

查找包含特定文本的窗口

我试图find一个特定的窗口是否已被一个进程打开。 该过程会产生多个窗口,我需要检查所有的窗口。 我不难find这个过程 foreach (Process p in Process.GetProcesses()) { if (p.MainModule.FileName.ToLower().EndsWith("foo.exe")) FindChildWindowWithText(p); //do work 问题是接下来要做什么。 我不能使用Process的MainWindowText ,因为它随着激活的窗口而改变。 然后我试图使用Windows函数EnumChildWindows和GetWindowText ,但我不知道如果我传递一个正确的句柄EnumChildWindows。 EnumChildWindows在通过MainWindowHandle时按预期工作,但当然MainWindowHandle随活动窗口而变化。 所以我通过Process.Handle ,但是当切换应用程序的窗口时,我得到了不同的句柄和不同的结果。 (据我所知,EnumChildWindows不仅返回句柄,而且还包括.NET中的控件 ,如果我能得到窗口的标题也不会有问题) 也许我正在做这个错误的方式,我需要一个不同的方法 – 我的问题再一次find一个与特定的正则expression式匹配的文本的窗口。 所以我可能需要一个枚举所有窗口的function,在任务栏中可见等等。 谢谢

当python进程被杀死时杀死subprocess?

我正在写一个启动subprocess的Python程序(使用Popen)。 我正在读取subprocess的stdout,做一些过滤,并写入主进程的stdout。 当我杀死主进程(cntl-C)时,subprocess继续运行。 我如何杀死subprocess呢? 子过程就好像跑了很长时间。 上下文:我一次只启动一个subprocess,我正在过滤它的stdout。 用户可能决定中断尝试其他的东西。 我是python的新手,我使用windows,所以请温和。

我如何从Java终止进程树?

我在Java中使用Runtime.getRuntime()。exec()命令来启动一个batch file,这又会启动Windows平台的另一个进程。 javaw.exe(Process1) |___xyz.bat(Process2) |___javaw.exe(Process3) Runtime.getRuntime()。exec()返回一个具有destroy方法的Process对象,但是当我使用destroy()时,它只会杀死xyz.bat,并使batch file的subprocess悬而未决。 在Java中有没有一种干净的方式来销毁以批处理作为根开始的进程树? *我不能使用任何自定义库\摆脱batch file绕过问题

一旦进程结束,会发生什么?

如果我有一个窗口进程已经停止(死亡或刚刚结束)的句柄: 将句柄(或更好的背后的记忆)重新用于另一个过程? 或者将GetExitCodeProcess()从现在起永远得到正确的结果吗? 如果1.是真的:GetExitCodeProcess()如何工作? 如果2.是真的,那么这不意味着我可以通过启动/终止新进程来降低操作系统,因为我创build了越来越多的句柄(并且操作系统为它们保留了内存)? 我对手柄的概念有点困惑。 先谢谢你!