Articles of 进程

如何在Windows中使用python脚本在cygwin中运行程序?

我想通过使用python脚本从Windows级别运行一个程序在cygwin中,并传递参数为标准input。 我已经阅读了很多关于stackoverflow的主题,但是我find的解决scheme并不适合我。 这里是基于堆栈主题的代码: from subprocess import Popen, PIPE cygwin = Popen(['CYGWINPATH\\bash.exe', '-'],stdin=PIPE,stdout=PIPE) cygwin.communicate(input="commandToRun") 这没有find适当的命令: /usr/bin/bash: line 1: uname: command not found ('', None) 编辑:信贷build议bash而不是薄荷matzeri。 例如:我在Windows桌面上有一个Python脚本,双击后,我想打开cygwin里面的程序,并传递参数为stdin。

当使用CREATE_NEW_PROCESS_GROUP创build主机时,将Ctrl + C发送给subprocess

我有一个树中的3个进程:A – > B – > C是一个主机应用程序,我没有拥有调用CreateProcess与dwCreationFlags = CREATE_NEW_PROCESS_GROUP来创build进程B. B是我的服务和C是一个Javasubprocess我想使用CreateProcess产卵并能够发送Ctrl + C来触发closures钩子。 根据MSDN上的进程创build标志页面, CREATE_NEW_PROCESS_GROUP标志禁用所有subprocess的Ctrl + C: 新stream程是新stream程组的根本过程。 进程组包括作为此根进程的后代的所有进程。 新进程组的进程标识符与在lpProcessInformation参数中返回的进程标识符相同。 GenerateConsoleCtrlEvent函数使用进程组来启用将CTRL + BREAK信号发送到一组控制台进程。如果此标志被指定,则新进程组内的所有进程的CTRL + C信号将被禁用。 我需要一种方法来绕过这种行为,以便我可以发送Ctrl + C信号给进程C. Ctrl + Break可以被发送,但是不够,因为这是一个Java进程,Ctrl + Break不会触发closures。 我试图用CREATE_NEW_CONSOLE创build进程C,假定这将允许新的控制台接收所有信号,但是Ctrl + C也被阻塞在那里。 有谁知道是否有一些方法来重写或绕过CREATE_NEW_PROCESS_GROUP并取消这个Ctrl + C阻止?

如何杀死通过Windows CMD线使用C#生成的进程?

我有一个Windows应用程序在C#中获取Android日志(LOGCAT)和Android BugReport(BugReport)。 为了得到这些日志,我正在使用类似命令的bat文件。 对于Bugreport, adb bugreport >>C:\User\Desktop\androidUser\bugrep%dt%_%tm%.txt 对于LogCat, adb logcat -long V >>C:\User\Desktop\androidUser\LogCat%dt%_%tm%.txt dt和tm是时间戳。 我可以同时运行这两个命令(在aspx网页中有两个不同的button),但是如果我只想停止其中的一个,则会出现问题。 问题是我不能杀死使用进程名称的进程,因为这两个任务相同。 另一件我已经尝试过的是在执行命令时保存进程ID并杀死它,但运行任务时关联的pid是cmd,所以adb任务一直保持运行,不会像我希望的那样死亡。

检查一个Python脚本是否已经在Windows上运行

什么是最好的/最简单的为什么要检查一个特定的Python脚本是否已经在Windows上运行? 我有一个脚本覆盖文件夹中的所有文件,并将它们复制到另一个文件夹(sorting到电影或电视节目文件夹)。 我想确保当脚本启动时,没有另一个已经运行的进程(同一个脚本),所以我不会遇到两个试图移动相同文件的脚本的问题。 我试图在脚本开始时创build一个文件,并在脚本结束时将其删除,但当脚本崩溃和/或抛出错误时,我遇到了问题。 我知道我可以使用psutil ,但是我会得到进程名称(python.exe),我正在寻找一个为什么区分Python进程是否运行我的脚本或其他程序。

.NET Process.GetProcesses()“访问被拒绝”。

我正在尝试使用下面的代码获取在当前机器上运行的进程列表: using System; using System.Data; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Diagnostics; using System.Runtime.InteropServices; using System.Security.Principal; using System.Security.Permissions; using System.ComponentModel; namespace Xynfo.Classes { class Processes { //Gets list of processes running on local machine public static Process[] ProcessList = Process.GetProcesses(Environment.MachineName); //Creates the data table that will hold the process data public static […]

无法在运行Windows 10的64位处理器PC上使用Netlogo 6.0.1和Mathematica 11.1之间的链接

我无法在运行窗口10的64位处理器上运行我的PC上的mathematica-netlogo链接.Netlogo和Mathematica的版本分别是6.0.1和11.1学生版。 当函数“NLStart []”与作为该函数input的Netlogo目录的path一起运行时出现错误。 错误消息如下所示: NLStart :: netlogonotfound:无法findNetLogo:C:\ Program Files \ NetLogo 6.0.1 \ 在这之前,我成功地加载了NetLogo Mathematica链接包。 任何有用的build议来解决这个问题将不胜感激。 谢谢。

x64组装优化

我正在尝试优化几个程序集的大小,我不关心速度。 我熟悉的优化情况如下: ;the following two lines mov rbp, rsp add rbp, 50h ;can be changed to lea rbp, [rsp+50h] 还有哪些优化可以用来减less以下过程中的字节数? 我不是要求任何人完全优化这个程序,只是指出我可以改进的地方。 ;get procedure address asmGetProc proc push rcx ;pointer to function name push rdx ;DllBase address (IMAGE_DOS_HEADER pointer) push r8 ;pointer to IMAGE_EXPORT_DIRECTORY push r9 ;IMAGE_EXPORT_DIRECTORY->NumberOfNames ;IMAGE_EXPORT_DIRECTORY->AddressOfNameOrdinals[r9] push rbx ;saved pointer to function name push […]

在Windows上与Python共享内存中的信号量?

这是场景。 我有一个Python脚本,将运行其主代码之前,将启动另一个程序(让我们称之为P )。 多个Python脚本可以同时运行,但是如果程序P已经启动,则不应该再次启动: pid 100 starts up pid 100 starts program P with pid n and detaches it pid 100 runs main pid 101 starts up pid 101 does not start program P because it's already started pid 101 runs main pid 100 main finishes pid 100 does not terminate program P because pid […]

在Windows上监控(java)进程死亡的最好方法是什么?

我们有一个好奇的问题,我们的Java进程死亡。 应用程序不会堆栈跟踪或向日志写入任何内容,该进程只是随机死亡。 这是一个大量使用的应用程序,但问题只出现一个月一次。 我们目前正在考虑使用Process Monitor,但欢迎任何其他build议。 编辑: 这是一个分布式的Java应用程序,运行在Weblogic内部的Web框架(是的,这是一个可怕的想法,但已经运行了八年),连接到Oracle。 – 内存不足? 根据Brian Agnew的说法,我们的日志会捕获java.lang.OutOfMemoryException。 写崩溃的日志? 我不认为Java有机会,死亡发生在stream程层面,而不是Java退出。

java:停止subprocess

有没有办法从Java启动非Java进程,然后停止它? 或者至less发送一些keyinput(例如alt + f4)? 例如,我启动java应用程序,然后javaapp启动记事本,然后javaapp发送alt + f4到记事本。 Javaapp将从pipe理员帐户运行。 问题只是关于Windows操作系统。