有没有什么方法可以运行一个自定义名称的进程,比如标记它?因此,如果我想终止进程,很容易找到具有特定名称或标签的进程。你知道吗
以下是我的代码,用于查找给定名称的任何进程:
def findProcessIdByName(processName):
'''
findProcessIdByName('python')
Get a list of all the information of a specific process
'''
listOfProcessObjects = []
#Iterate over all the running process
for proc in psutil.process_iter():
try:
pinfo = proc.as_dict(attrs=['pid', 'name', 'create_time'])
# Check if process name contains the given name string.
# pinfo['path'] = psutil.Process(pinfo['pid']).cmdline()
if processName.lower() in pinfo['name'].lower() :
listOfProcessObjects.append(pinfo)
except (psutil.NoSuchProcess, psutil.AccessDenied , psutil.ZombieProcess) :
pass
return listOfProcessObjects
例如,如果我试图运行我的应用程序:
python manage.py runserver -h 192.168.0.110 -p 5050
如果我试图找到以进程名“python”运行的进程PID,它将为我提供另一个进程,因为它在所有进程名下都显示为python:
findProcessIdByName('python')
# Results
[
{
'create_time':1571059481.29,
'name':'python',
'pid':9441
},
{
'create_time':1571059730.89,
'name':'python',
'pid':9889
},
{
'create_time':1571061314.85,
'name':'python',
'pid':13297
},
{
'create_time':1571062673.5,
'name':'python',
'pid':17716
},
{
'create_time':1571062674.62,
'name':'python',
'pid':17721 # This one is that running process
}
]
运行bash -c "exec -a myapp python manage.py runserver -h 192.168.0.110"
会产生以下错误:
Traceback (most recent call last): File "manage.py", line 3, in <module> import werkzeug.serving ModuleNotFoundError: No module named 'werkzeug'
你在什么环境下运行这个?您可以使用这个previous answer以一个特定的名称开始您的进程
相关问题 更多 >
编程相关推荐