Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/290.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
知道在python中,processus是否仍在使用其命令行运行_Python_Subprocess_Popen - Fatal编程技术网

知道在python中,processus是否仍在使用其命令行运行

知道在python中,processus是否仍在使用其命令行运行,python,subprocess,popen,Python,Subprocess,Popen,我有一个processus的命令,我想知道它是否仍然使用python运行 我有命令行“java-Xms2000M…nogui” 这是cmd windows的一个子进程 问题是:我不知道怎么做, 我读了一些关于子流程模块和popen的内容,但是如果有人想给我一些启发的话 谢谢。您可以使用查询所有正在运行的Windows进程,将其包装在子进程调用中,并根据需要筛选所有进程(java.exe,spiget-): 输出: 注意: wmic返回一个CSV格式,我将搜索整个字符串 import subpr

我有一个processus的命令,我想知道它是否仍然使用python运行

我有命令行“java-Xms2000M…nogui”

这是cmd windows的一个子进程

问题是:我不知道怎么做, 我读了一些关于子流程模块和popen的内容,但是如果有人想给我一些启发的话

谢谢。

您可以使用查询所有正在运行的Windows进程,将其包装在子进程调用中,并根据需要筛选所有进程(
java.exe
spiget-
):

输出:

注意:
wmic返回一个CSV格式,我将搜索整个字符串

import subprocess

def isProcessRunning(appName, argPattern):
    command = 'wmic process get Caption,Processid,Commandline /format:csv'
    cmd = subprocess.Popen(command, stderr=subprocess.PIPE, stdout=subprocess.PIPE, shell=False)
    stdout, stderr = cmd.communicate()
    if cmd.returncode == 0:
        for line in stdout.decode('utf-8').split('\n'):
            line = line.lower().strip()
            
            if not line:
                continue

            if appName in line and argPattern in line:
                print("Found:")
                print(line)
                return True

print(isProcessRunning('spotify.exe', 'renderer'))
Found:
vm-pc_win7,spotify.exe,"c:\users\f3k\appdata\roaming\spotify\spotify.exe" --type=renderer ... --product-version=spotify/1.1.43.700 --disable-spell-checking --device-scale-factor=1 --num-raster-threads=1 --renderer-client-id=4 --mojo-platform-channel-handle=2268 /prefetch:1,5148
True