Articles of 进程

如何找出一个特定的进程仍然在PHP中运行

我正在编写一个脚本来构build其他脚本的队列,并且应该pipe理它们的启动。 pipe理器脚本应该知道哪个subprocess已经完成,所以它可以启动在队列中等待的其他脚本。 我添加了“&echo $!” 获取每个subprocess的进程ID。 所以我有我的subprocess进程ID,现在我正在使用系统“PS”程序调用来查找subprocess是否仍在运行。 事情是,我的脚本目前只在类Unix系统中运行。 我不知道如何在窗口中获取我的孩子的PID,而且我的脚本也没有在windows中parsing“tasklist”命令的输出。 有没有其他办法可以做到这一点? 任何in-PHP解决scheme来查找subprocess是否仍在运行? 一个解决scheme来启动其他进程(非阻塞),并检查它们是否仍在运行。

检查过程是否返回0batch file

我想用batch file启动一个进程,如果它返回非零值,则执行其他操作。 我需要正确的语法。 像这样的东西: ::x.bat @set RetCode=My.exe @if %retcode% is nonzero handleError.exe 作为奖励,您可以考虑回答以下问题,请:) 如何用if写一个复合语句? 如果应用程序My.exe无法启动,因为某些DLL丢失将我的工作? 如果没有,我怎么能检测到My.exe启动失败?

我怎样才能以便携的方式创build一个stream程?

我正在尝试编写一个需要创build其他进程的程序。 我已经习惯了Windows API,但现在我需要我的程序能够在Linux平台上运行。 是否有可能以便携式的方式做到这一点? 为了这个目的,我必须使用预处理器吗? 编辑:我需要等待它完成之前继续做事情。

在Windows 7 64位的opencv 2.4错误

我在Windows 7 64位中使用CodeBlocks,并使用MinGw作为默认的c / c ++编译器。 几天前,我需要使用OpenCV,经过了很多错误之后,我得到了这样的难以解决的错误: img http://img.zgserver.com/c%2B%2B/xc9hy8.png img2 http://img.zgserver.com/c%2B%2B/pwt8j.png 示例代码: #include "cv.h" #include "highgui.h" int main( int argc, char** argv ) { IplImage* img = cvLoadImage( argv[1] ); cvNamedWindow( "Example1", CV_WINDOW_AUTOSIZE ); cvShowImage( "Example1", img ); cvWaitKey(0); cvReleaseImage( &img ); cvDestroyWindow( "Example1" ); } 我相信我的链接和目录设置是正确的。 所以请帮助我:)我即将放弃:(

我可以在Windows上加载一个32位DLL到64位进程吗?

我最近升级了ac#windows服务作为64位.net进程运行。 通常情况下,这将是微不足道的,但系统使用C ++编写的32位DLL。 这不是一个select将此DLL转换为64位,所以我将DLL包装在一个单独的32位.net进程,并通过远程处理暴露.net接口。 这是一个相当可靠的解决scheme,但是我宁愿将系统作为单个进程运行。 有什么办法可以加载我的32位DLL到64位进程,并直接访问它(也许通过某种thunking层)?

查找应用程序使用的tcp端口

好吧,所以我将我公司的flexlm供应商守护程序扩展到客户端应用程序。 我需要在客户端连接之前能够找出lmgrd正在监听的端口。 API文档似乎相当贫瘠,我相信他们的大部分代码都是以编译的forms存在的,所以我不能只看他们的源代码。 是否有可能调用Windows API的强大function来查找特定进程正在使用的端口? 如果从sysinternals进程资源pipe理器可以做到这一点,我应该能够吗? 有没有人有这样的示例代码? 它需要支持Windows XP及更高版本,因为我们的许多客户尚未升级。 编辑:我应该注意到,事实certificate,FLEX支持从许可证文件拉端口。 我没有在我面前的代码,但要知道,这不是找出您的供应商守护程序/ lmgrd运行的端口的最佳方式。

visual studio 2010 express + win sdk =无法打开input文件'kernel32.lib'

我用VS2008 express和win SDK编译为x64。 最近重build我的机器(升级到64位Windows 7),并得到最新的快速安装。 遵循相同的程序,以允许x64目标和我的来源不再链接。 不pipe我做什么我总是得到: LINK:致命错误LNK1181:无法打开input文件'kernel32.lib' 有趣的32位编译工作正常。 这是一个很好的问题吗? 谷歌没有给我任何线索如何解决这个问题,只是几个提到同样的问题,但没有解决scheme。 是否有可能使用VS 2010与胜利7 SDK的目标64位? 感谢Pawel

ProcessBuilder为命令行添加额外的引号

我需要使用ProcessBuilder构build以下命令: "C:\Program Files\USBDeview\USBDeview.exe" /enable "My USB Device" 我试着用下面的代码: ArrayList<String> test = new ArrayList<String>(); test.add("\"C:\\Program Files\\USBDeview\\USBDeview.exe\""); test.add("/enable \"My USB Device\""); ProcessBuilder processBuilder = new ProcessBuilder(test); processBuilder.start().waitFor(); 但是,这会将以下内容传递给系统(使用Sysinternals Process Monitor进行validation) "C:\Program Files\USBDeview\USBDeview.exe" "/enable "My USB Device"" 注意/enable前的报价和Device之后的两个报价。 我需要摆脱这些额外的引号,因为他们使调用失败。 有谁知道如何做到这一点?

Process.GetCurrentProcess()。MainWindowHandle返回零

我试图获得我的C#应用​​程序的主窗体(应用程序只有一个窗体)的窗口句柄(HWND)。 互联网上的一些解决scheme显示我可以使用: Process.GetCurrentProcess().MainWindowHandle 获取我的应用程序当前进程的窗口句柄。 但是这个值总是零,有什么不对?

Windows开发:从x86到x64的过渡

是否有任何指导方针如何尽可能less的痛苦过渡到X64? 假设,我有一个用C ++编写的windows本机x86可执行文件。 EXE本身工作正常,但也有DLL,它是由前者的EXE和一个外部的x64进程托pipe的。 像这样的设置,我需要重写哪些部分? 我将不胜感激一个更一般的答案,或者可能是一个给予一些理论背景的参考链接。 谢谢