名前と所有者に基づいてプロセスを強制終了するコードを書きたいと思っています。これは Windows XP では問題なく動作しますが、Windows 7 で同じコードを実行しようとすると、プロセスのユーザー名を取得しようとするとアクセス拒否エラーが発生します。
XP と Win7 で動作するプロセスを強制終了する簡単な方法はありますか?
プロセスが「システム」によって所有されているかどうかを確認するチェックが実際に必要であるため、システムプロセスが残っているため、プロセスにユーザープロセスがいつ終了したかを確認できます。これには関係ありません。
PROCNAME = 'python.exe'
for proc in psutil.process_iter():
if proc.name == PROCNAME:
p = psutil.Process(proc.pid)
if not 'SYSTEM' in p.username:
proc.kill()