草庐IT

python进程间通信

全部标签

windows - 如何杀死用open()打开的进程

我正试图终止我在Win32(XP)上用Perl在后台打开的进程我尝试了几件事……似乎没有用……$pid=open(CMD,"|cmd.exe>C:\\cmdout.txt");为了杀死这个后台进程尝试了几种方法....:(system('taskkill/F/IMcmd.exe');system("taskkill/F/pid$pid");关闭CMD||警告“cmd退出$?”;选项2从不工作尝试打印PID打印的值与系统中的实际值不同。选项1有效,但我觉得该过程仍在后台运行,因为在我结束该过程后,我等待一段时间并重新启动该过程...请帮忙-谢谢 最佳答案

windows - 在所有未使用的情况下,进程外 COM 服务器最终是否应该停止?

我发现一个进程外的COM服务器以这样的方式实现(据推测是由于错误),如果客户端调用CoGetClassObject()然后从不尝试用服务器检索到的工厂实例化任何东西进程永远运行。COM服务器不是作为服务启动的,它是一个普通的可执行文件。在描述的场景中,客户端不会调用IClassFactory::LockServer(),所以这个问题是要完全忽略那些“服务器锁”。这是正确的行为吗?进程外COM服务器是否应该在一段时间内没有为对象提供服务后始终停止,或者是否应该存在进程外COM服务器即使不为任何对象提供服务也应该连续运行的情况? 最佳答案

c# - Windows 服务和 Win 应用程序之间的通信

我想编写一个Windows服务,它将与我的win应用程序通信,并将运行我的Windows窗体。我该怎么做?如果您给我一个简单示例的链接,那就太好了。我还有一个问题:如果我用windows服务运行我的win窗体,如果我不关闭我的窗体,如果用户注销它就会关闭,是这样吗? 最佳答案 有很多选择:WCF.NET远程处理共享内存命名管道普通TCP…哪种机制最适合您的情况取决于大量您没有说明也可能没有考虑的要求。如果您不知道您需要从中得到什么,只需捕获任何足够简单的机制,并且您已经在谷歌上搜索了合适的教程,然后开始编码。

python - 如何在 Python/Linux 中启动带有多个参数的程序

以下代码在Windows中运行良好:subprocess.Popen([PATH_TO_G++]/g++file.cpp-ofile.exe)但是在Linux中我得到以下错误:OSError:[Errno2]Nosuchfileordirectory阅读文档和几个SO线程后,我发现subprocess.Popen在Windows和nix系统中的工作方式不同。在Windows中,它将字符串作为参数并启动它,就像您在终端中启动它一样。但是在linux中,如果你有参数,它需要一个字符串列表。第一个值是程序本身,然后是属性。您可以通过传递Shell=True参数使其表现得像Windows,但这

windows - 在不重置剪贴板链的情况下中止进程会导致麻烦吗?

我有一个调用SetClipboardViewer的程序在启动时注册剪贴板更改通知。在关机时,它会调用ChangeClipboardChain正确地从链中删除自己。只要程序正常运行,一切都很好。但这让我想知道,如果程序被中止,会发生什么情况,要么是我在调试器下杀死它,要么是崩溃,要么是用户因为出错而杀死了进程?然后清理永远不会发生。这会以某种方式给系统带来麻烦吗?具体来说,我知道Windows可以毫不费力地删除我的查看器,因为它是一个句柄,并且Windows可以在进程终止时清理所有句柄,但这会导致链下游的下一个值,我持有一个引用,以某种方式迷路? 最佳答案

python - 在 Windows 上搭建 Python 开发环境

是的,我已经搜索过了。因此,在花了大约4-5个小时努力让Python文件运行之后,我最近偶然发现了让它通过环境变量运行的解决方案,如下所示:cmd->python->Pythonstarts,yayyay由于无法通过命令行和类似方式执行此操作,因此我不得不通过Windows界面手动执行此操作。现在它可以工作了,但是我无法打开.py文件而不输入像这样的完整路径:pythonC:\X\X\X\test.py这显然也开始变得烦人了。所以现在我试图找出我必须更改(又一次)哪个变量才能只键入“pythontest.py”并让它运行。对不起,如果我说得含糊不清,但为我设置一种新的编程语言总是一件很

python - 我的 Python 程序中的安全漏洞

我正在开发一个小程序,要求用户插入USB闪存驱动器(预配置)以登录系统。它现在的工作方式是像往常一样登录到Windows操作系统。然后脚本检查USBkey,如果找到,则关闭。但是,如果找不到key,则会出现一个对话框供用户输入密码。他们在安装期间指定了一定的时间。现在,问题是,用户可以启动任务管理器并终止进程,从而使脚本无用。有一个更好的方法吗?如果USBkey不存在,我该如何禁用任务管理器?该软件完全用Python编写。 最佳答案 根据您的评论,您正在将用户登录到Windowssession中。您将无法使用您设置的方案来保护系统-

python - subprocess.check_output 参数中的变量? [Python]

简单的问题:为什么这不起作用?test=2printsubprocess.check_output(["program","-v","-a5","-t%i",使用“-t1”或其他值,它可以完美地工作。 最佳答案 你是故意的吗?printsubprocess.check_output(["program","-v","-a5","-t%i"%test,"-oURL","-uUSER","-pPASS"]) 关于python-subprocess.check_output参数中的变量?[Py

windows - Windows 中的进程间条件变量

我知道我可以使用条件变量来同步线程之间的工作,但是是否有任何类likethis(conditionvariable)来同步进程之间的工作,在此先感谢 最佳答案 使用一对已命名的Semaphore对象,一个作为信号,一个作为锁。Windows上的命名同步对象是自动进程间的,它会为您处理这部分工作。像这样的类就可以了。classInterprocessCondVar{private:HANDLEmSem;//UsedtosignalwaitersHANDLEmLock;//Semaphoreusedasinter-processlock

python - 确定取消的 MessageBox 案例?

如何为以下代码制作“案例”:win32api.MessageBox(None,"ThisProgramWilldoTHIS:\n""blablabla","programtitler",win32con.MB_OKCANCEL|win32con.MB_ICONQUESTION)例如如果选择确定,则执行此操作;如果选择取消,则执行此操作。 最佳答案 应该是这样的。(C#)intresult=win32api.MessageBox(None,"ThisProgramWilldoTHIS:\n""blablabla","programti