Skip to content

Commit 42c5ada

Browse files
authored
run_process
1 parent 3d62930 commit 42c5ada

File tree

1 file changed

+23
-3
lines changed

1 file changed

+23
-3
lines changed

res/ocr.py

+23-3
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,11 @@
11
import os
2-
from sys import exit as exx
2+
import re
33
import time
44
import uuid
5-
import re
65
import select
7-
from subprocess import Popen,PIPE
6+
import psutil
7+
from sys import exit as exx
8+
from subprocess import Popen, PIPE
89

910
HOME = os.path.expanduser("~")
1011
CWD = os.getcwd()
@@ -652,3 +653,22 @@ def read_subprocess_output(process, timeout=5):
652653
output += process.stdout.read().decode().strip()
653654
break
654655
return output
656+
657+
def run_process(command, shell=False, cwd=None, env=None, notSilent=True):
658+
for proc in psutil.process_iter():
659+
try:
660+
# Get process info as a named tuple containing the process name and command-line arguments
661+
process_info = proc.as_dict(attrs=['pid', 'name', 'cmdline'])
662+
process_cmdline = process_info['cmdline']
663+
664+
# Check if the command matches the process command-line arguments
665+
if process_cmdline == command.split():
666+
if notSilent:
667+
print("Killing process with PID", process_info['pid'])
668+
proc.kill()
669+
except (psutil.NoSuchProcess, psutil.AccessDenied, psutil.ZombieProcess):
670+
pass
671+
if notSilent:
672+
print("Starting process with command", command)
673+
Popen(command, shell=shell, cwd=cwd, env=env)
674+

0 commit comments

Comments
 (0)