import psutil
pid = 1234 # замените на PID нужного процесса
new_name = "new_process_name" # замените на новое имя процесса
p = psutil.Process(pid)
p.name(new_name)
Traceback (most recent call last):
File "C:\Users\User\Desktop\SteamPars1\sad.py", line 24, in <module>
sec.name(name)
TypeError: Process.name() takes 1 positional argument but 2 were given
maus_9999, опробуйте обновить библиотеку psutil до последней версии
убедитесь, что вы правильно указали идентификатор процесса pid и что процесс с таким идентификатором существует в вашей системе
Traceback (most recent call last):
File "c:\Users\User\Desktop\TEST\test.py", line 8, in <module>
p.name(new_name)
TypeError: Process.name() takes 1 positional argument but 2 were given
PS C:\Users\User\Desktop\TEST>
Чтобы обновить имя процесса в окне консоли, вам необходимо использовать функцию Windows API SetConsoleTitleW, которая позволяет изменять заголовок окна консоли. Для использования этой функции в Python можно использовать библиотеку pywin32.
import os
import psutil
import time
import win32api
pid = os.getpid()
print(pid)
new_name = 'asdfff'
p = psutil.Process(pid)
p.name = new_name
# Обновляем заголовок окна консоли
win32api.SetConsoleTitleW(new_name)
print(p.name)
time.sleep(6000)
Макс, Если установка новой версии pywin32 не помогает, попробуйте обновить свою версию Python или операционной системы. Возможно, функция SetConsoleTitle не поддерживается на вашей текущей версии Python или операционной системы.
Проверьте, поддерживается ли функция вообще:
import sys
import os
if sys.platform == 'win32':
try:
import win32api
import win32console
except ImportError:
print('win32api и/или win32console не установлены')
else:
if hasattr(win32console, 'GetStdHandle') and hasattr(win32api, 'SetConsoleTitle'):
print('Функция SetConsoleTitle поддерживается в вашей операционной системе')
else:
print('Функция SetConsoleTitle не поддерживается в вашей операционной системе')
else:
print('Вы используете операционную систему, которая не поддерживает функцию SetConsoleTitle')
так вы какой процесс хотите переименовать? Текущий?
Для текущего используется:
import psutil
# Получаем объект текущего процесса
p = psutil.Process()
# Устанавливаем новое имя для процесса
new_name = "My New Process Name"
p.name(new_name)
Я не знаю, почему у вас не работает.
Вы под правами администратора это все делаете?
maus_9999, вы что python.exe переименовать хотите?
для него этот вариант:
import psutil
# Получаем объект процесса по идентификатору
pid = <идентификатор процесса>
process = psutil.Process(pid)
# Устанавливаем новое имя процесса
new_name = <новое имя процесса>
process.name(new_name)
ошибка может@maus_9999, ошибка может возникать по след причинам:
Запустили скрипт с правами пользователя, которые не позволяют вам изменять процессы в системе.
Процесс с идентификатором pid не существует, либо вы пытаетесь изменить процесс, запущенный от имени другого пользователя.
Пытаетесь переименовать процесс, находящийся в защищенной системной папке или используемый другим приложением.
Используете старую версию библиотеки psutil, которая не поддерживает метод name().