Articles of 进程

为Windows x64预编译的SQLite二进制文件

是否有SQLite的Windows 64位预编译的二进制文件? 到目前为止,我无法find这样的 谢谢。

Python:Howto启动一个完整的进程而不是subprocess并检索PID

我想要: 从我的进程(myexe.exe arg0)启动一个新进程(myexe.exe arg1) 检索这个新进程的PID(os窗口) 当我用TaskManager的Windows命令“结束进程树”杀死我的第一个实体(myexe.exe arg0)时,我需要新的(myexe.exe arg1)不会被杀死… 我玩过subprocess.Popen,os.exec,os.spawn,os.system …没有成功。 解决问题的另一种方法:如果有人杀死myexe.exe(arg0)的“进程树”,如何保护myexe.exe(arg1)? 编辑:同样的问题(没有答案)在这里 编辑:下面的命令不保证subprocess的独立性 subprocess.Popen(["myexe.exe",arg[1]],creationflags = DETACHED_PROCESS | CREATE_NEW_PROCESS_GROUP,close_fds = True)

在<4GB RAM的64位虚拟机上Java中的对象头大小

我想知道是否有某种方法让64位虚拟机使用8字节对象头而不是12字节对象头,如果JVM的可用RAM是4GB的话。 还是这样在Linux上,如果不是在Windows上? 有人可以testing这个代码? import java.lang.reflect.Field; import sun.misc.Unsafe; public class ObjectSizes { String s1; String s2; public static void main(String[] args) throws Exception { Unsafe unsafe; try { Field field = Unsafe.class.getDeclaredField("theUnsafe"); field.setAccessible(true); unsafe = (Unsafe)field.get(null); } catch (Exception ex) { throw new RuntimeException("Can't get Unsafe instance.", ex); } Field s1Field = ObjectSizes.class.getDeclaredField("s1"); Field s2Field = […]

如何在Windows中为进程分配超过2GB的内存?

我正在运行一个程序来构build一个非常大的对象,我将从这个过程中分配超过2GB的内存而获益匪浅。 提前致谢。

如何等待非subprocess退出

对于subprocess,可以使用wait()和waitpid()函数暂停当前进程的执行,直到subprocess退出。 但是这个函数不能用于非subprocess。 是否还有另一个function,可以等待任何进程退出?

可以64位EXE链接对32位DLL?

我问,因为我注意到,许多64位的EXE链接到似乎是32位的DLL。 例如,我的64位MFC应用程序链接对user32.dll, urlmon.dll, wininet.dll – 所有这些都是32位DLL驻留在Windows \ system32中。 那么,这是适用于这些DLL的MS特定的魔术,还是有向后兼容,对于需要使用传统32位DLL的64位EXE?

读取USB HID条码扫描器input而不知道VID和PID

我试图开发条形码扫描仪的设备独立库,它必须在Windows环境中工作。 我已经在这个领域做了一些研究,afaik这个问题的大部分解决scheme都取决于特定的设备VID&PID(RawInput @ filter by vid&pid string),在我的情况下这是不可接受的,因为我试图开发一个独立于设备解决scheme,这将与任何USB条形码扫描仪。 其实这件事情相当具有挑战性,至less对我来说,这是确切的要求。 另外我不能要求用户热插拔设备(在这种情况下,我可能只是检测插入设备,并提取它的VID / PID)。 另外我不能使用设备的VID和PID数据库。 一般来说,我实际上不能使用vid&pid。 我也不能以任何方式重新编程条码扫描器,除非它是从我的程序完成(也许我可以发送一些barcodescanner特定的IOCTLs,这将使它回答我?)。 目前我将要使用在这个问题中提出的解决scheme: 使用USB条形码扫描仪读取条形码,同时忽略键盘数据input,而扫描仪产品ID和供应商ID未知 另外我也看到了商业图书馆(这是一个没有任何资源和关于它如何实现的信息,但是考虑到他们在他们的更新日志中有一些词汇“性能计数器”,我想他们在上面的链接中使用了解决scheme)实现这个function,但在x64系统中不起作用。 可能是因为代码混乱,或者因为它可能使用某种filter(迷你)驱动程序。 这是encryption的,我不能重新分配它。 我确切的问题是:有什么办法来确定这个HID键盘实际上不是一个键盘,而是一个条形码扫描仪? 我已经在Win 7 x64上看到它连接成条形码扫描器,而不是键盘(这是一个系统错误,或者某种)。 到底我在做什么: 通过RID_INPUTSINK读取input。 通过设备的vid&pid区分所有input 当VK_ENTER显示在缓冲区中时,将所有input放入单独的缓冲区并从缓冲区收集条形码。 我现在要做的是: 通过RID_INPUTSINK读取input 为特定设备启动计时器,如果下一个符号是VK_ENTER – 停止计时器 如果定时器超过50毫秒限制 – closures它,并放弃所有进一步的设备input。 如果设备将成功读取从第一个符号到VK_ENTER的字符序列 – 提取设备VID&PID /句柄,并以更方便的方式使用(无时间限制)。 我在C ++,纯WinAPI上开发它,它将是一个DLL库,并且可以在x32-86和x32-64体系结构中的Windows XP,Vista,7,8上运行。 更新0:刚刚发现,条码扫描器有自己的usagePage和使用USB规格: http ://www.usb.org/developers/devclass_docs/pos1_02.pdf 根据这个文件USB条形码扫描仪有UsagePage 0x8C和用法0x02。 不幸的是我没有把它作为RAWINPUTDEVICE.dwUsage和RAWINPUTDEVICE.dwUsagePage使用。 可能是因为系统安装它的USB键盘驱动程序的顶部和用户模式,它是真正的USB键盘无法区分。 这些值可能在kernelmode环境中可用(其中一个选项是开发hid筛选器驱动程序)。

计数Windows中特定进程的上下文切换

我想要做的是编写一个连续生活的小程序来计算特定进程在足够小的时间单元内所经历的上下文切换次数。 我在软件“Process Explorer”中观察到了这个function,所以我知道这是绝对有可能的。 不幸的是,我对如何开始编码这个问题一无所知,到目前为止还找不到任何有用的代码片断。 因此,实现每个进程和每单位时间的活动上下文切换计数的小实例将对我非常有帮助。

将64位和32位版本的应用程序转换为相同的二进制文件?

我们正在尝试在64位和32位平台上部署应用程序。 有没有办法把这两个编译版本的代码放在同一个二进制文件中,苹果和NeXT的胖二进制文件 ? 理想情况下,我们可以运送一个.exe文件来决定执行哪个版本的代码。 我们的目标是Windows XP及更高版本。

使用Perl,如何检查给定名称的进程是否正在运行?

使用Perl,如何检查特定的Windows进程是否正在运行? 基本上,我想用'exec'来启动一个进程,但是只有当它还没有运行的时候,我才应该这样做。 那么如何知道具有特定名称的进程是否正在运行呢? 有没有提供这个function的Perl模块?