cari
Rumahpembangunan bahagian belakangTutorial PythonBagaimana untuk membunuh proses Windows yang sedang berjalan dalam Python?

Bagaimana untuk membunuh proses Windows yang sedang berjalan dalam Python?

Apabila menyelami dunia pembangunan Python pada sistem pengendalian Windows, tidak syak lagi akan ada situasi di mana timbul keperluan untuk menamatkan proses yang sedang berjalan. Motivasi di sebalik penamatan sedemikian mungkin melibatkan pelbagai keadaan, termasuk tidak bertindak balas, penggunaan sumber yang berlebihan, atau sekadar keperluan untuk menghentikan pelaksanaan skrip. Dalam artikel komprehensif ini, kami akan meneroka pelbagai cara untuk menyelesaikan tugas menamatkan proses berjalan pada Windows menggunakan Python. Dengan memanfaatkan modul "os", perpustakaan "psutil" dan modul "subproses", kami akan melengkapkan diri kami dengan kit alat serba boleh untuk menyelesaikan tugas yang mendesak ini.

Kaedah 1: Menggunakan modul "os" pelbagai fungsi

Modul "os" ialah asas interaksi Python dengan sistem pengendalian dan mempunyai fungsi yang kaya. Antaranya, fungsi system() menyediakan pintu masuk untuk melaksanakan perintah sistem pengendalian. Perlu diingat bahawa Windows menggunakan perintah "taskkill" untuk mematikan proses aktif.

Contoh: memanfaatkan modul "os"

Dalam contoh berikut, kami akan menggunakan modul `os` untuk mematikan aplikasi Notepad purba:

import os

# The process name to be brought to an abrupt halt
process_name = "notepad.exe"

# Employing the taskkill command to terminate the process
result = os.system(f"taskkill /f /im {process_name}")

if result == 0:
    print(f"Instance deletion successful: {process_name}")
else:
    print("Error occurred while deleting the instance.")

Output

Deleting instance \DESKTOP-LI99O93\ROOT\CIMV2:Win32_Process.Handle="1234"
Instance deletion successful.

Coretan kod ilustrasi ini menggunakan perintah "taskkill" bersama-sama dengan bendera "/f" (force) dan "/im" (nama imej) untuk menamatkan secara paksa proses yang dikenal pasti oleh nama imej yang ditentukan.

Kaedah 2: Manfaatkan perpustakaan "psutil" yang berkuasa

Pustaka "psutil" menyediakan perpustakaan alat merentas platform yang berkuasa untuk mengakses maklumat sistem dan memanipulasi proses yang sedang berjalan. Sebelum mendalami penggunaan `psutil`, kita mesti memastikan kehadirannya terlebih dahulu dengan melaksanakan arahan pemasangan berikut:

pip install psutil

Selepas pemasangan berjaya, kita boleh menggunakan fungsi "psutil" untuk menamatkan proses aktif.

Contoh: memanfaatkan perpustakaan "psutil"

Dalam contoh berikut, kami akan menggunakan perpustakaan `psutil` untuk menamatkan aplikasi Notepad yang terkenal:

import psutil

# The process name to be terminated
process_name = "notepad.exe"

# Iterating through all running processes
for proc in psutil.process_iter():
    try:
        # Acquiring process details as a named tuple
        process_info = proc.as_dict(attrs=['pid', 'name'])

        # Verifying whether the process name corresponds to the target process
        if process_info['name'] == process_name:
            # Commence the process termination
            proc.terminate()
            print(f"Instance deletion successful: {process_info}")

    except (psutil.NoSuchProcess, psutil.AccessDenied, psutil.ZombieProcess):
        # Prudently handling potential exceptions arising during process information retrieval
        pass

Output

Deleting instance \DESKTOP-LI99O93\ROOT\CIMV2:Win32_Process.Handle="5678"
Instance deletion successful.

Contoh coretan ini menggambarkan pendekatan kami: kami menggunakan "psutil.process_iter()" untuk mengulangi semua proses yang sedang berjalan. Dengan menggunakan kaedah as_dict(), kami mendapat maklumat proses dalam bentuk tuple bernama. Jika nama proses sepadan dengan proses sasaran, kami segera menamatkannya melalui kaedah "terminate()".

Kaedah 3: Lepaskan kuasa modul "Subproses"

Modul "subproses" Python membolehkan kami menghasilkan proses baharu, mewujudkan sambungan ke paip input/output/ralatnya dan mendapatkan semula kod pemulangannya. Kita boleh memanfaatkan modul ini untuk melaksanakan perintah "taskkill" dan mematikan proses berjalan dengan berkesan.

Contoh: Menggunakan modul "Subproses"

Dalam contoh ini, kami akan menunjukkan cara membunuh aplikasi Notepad menggunakan modul "Subproses" yang berkuasa:

import subprocess

# The process name to be terminated
process_name = "notepad.exe"

# Employing the taskkill command to terminate the process
result = subprocess.run(f"taskkill /f /im {process_name}", shell=True)

if result.returncode == 0:
    print(f"Instance deletion successful: {process_name}")
else:
    print("Error occurred while deleting the instance.")

Output

Deleting instance \DESKTOP-LI99O93\ROOT\CIMV2:Win32_Process.Handle="9012"
Instance deletion successful.

Dalam contoh ini, kami bergantung pada fungsi "subprocess.run()" untuk melaksanakan perintah "taskkill" dengan bendera "/f" dan "/im". Parameter "shell=True" menjadi sangat diperlukan apabila melaksanakan arahan dalam shell arahan Windows.

Kesimpulan

Dengan penyelaman mendalam ini, kami menerangkan tiga cara berbeza untuk mematikan proses yang berjalan pada Windows menggunakan Python. Dengan menggunakan modul "os" kita boleh melaksanakan perintah sistem pengendalian. Pustaka "psutil" muncul sebagai alat berkuasa yang menyediakan kami penyelesaian merentas platform yang komprehensif untuk mendapatkan semula maklumat sistem dan manipulasi proses. Tambahan pula, modul "subproses" membuka kunci dimensi baharu, membolehkan kami menghasilkan proses dan melaksanakan arahan dengan mudah.

Setiap kaedah mempunyai kelebihan tersendiri dan sesuai untuk keperluan projek tertentu. Apabila bekerja pada penamatan proses, anda mesti berhati-hati dan memahami potensi risiko, seperti kehilangan data atau ketidakstabilan sistem.

Atas ialah kandungan terperinci Bagaimana untuk membunuh proses Windows yang sedang berjalan dalam Python?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan
Artikel ini dikembalikan pada:tutorialspoint. Jika ada pelanggaran, sila hubungi admin@php.cn Padam
Apakah jenis data yang boleh disimpan dalam array python?Apakah jenis data yang boleh disimpan dalam array python?Apr 27, 2025 am 12:11 AM

Pythonlistscanstoreanydatatype, arraymoduleArraysstoreonetype, andnumpyarraysarefornumumericalcomputations.1) listsareversatileButlessMememory-efficient.2) arraymoduleArduleArrayRaysarememory-efficientforhomogenhomogenhomogenhomogenhomogenhomogenhomogenhomogenhomogenhomogenhomogenhomogenhomogenhomogenhomogenhomogen

Apa yang berlaku jika anda cuba menyimpan nilai jenis data yang salah dalam array python?Apa yang berlaku jika anda cuba menyimpan nilai jenis data yang salah dalam array python?Apr 27, 2025 am 12:10 AM

KetikayyoUttemptToStoreAveFheWrongatatypeinapythonArray, anda akan menjadicounteratypeerror

Yang merupakan sebahagian daripada Perpustakaan Standard Python: Senarai atau Array?Yang merupakan sebahagian daripada Perpustakaan Standard Python: Senarai atau Array?Apr 27, 2025 am 12:03 AM

Pythonlistsarepartofthestandardlibrary, sementara

Apa yang perlu anda periksa jika skrip dijalankan dengan versi Python yang salah?Apa yang perlu anda periksa jika skrip dijalankan dengan versi Python yang salah?Apr 27, 2025 am 12:01 AM

Thescriptisrunningwiththewrongpythonversionduetoincorrectdefault interpretsettings

Apakah beberapa operasi biasa yang boleh dilakukan pada tatasusunan python?Apakah beberapa operasi biasa yang boleh dilakukan pada tatasusunan python?Apr 26, 2025 am 12:22 AM

PythonArraysSupportVariousoperations: 1) SlicingExtractsSubsets, 2) Menambah/ExtendingAddSelements, 3) InsertingPlaceSelementSatSatSatSpecifics, 4) RemovingDeleteselements, 5) Sorting/ReversingChangesOrder,

Dalam jenis aplikasi yang biasa digunakan oleh numpy?Dalam jenis aplikasi yang biasa digunakan oleh numpy?Apr 26, 2025 am 12:13 AM

NumpyarraysareessentialforapplicationRequiringeficientnumericalcomputationsanddatamanipulation.theyarecrucialindaSascience, machinelearning, fizik, kejuruteraan, danfinanceduetotheirabilitytOHandlelarge-Scaledataefisien.Forexample, infinancialanal

Bilakah anda memilih untuk menggunakan array di atas senarai di Python?Bilakah anda memilih untuk menggunakan array di atas senarai di Python?Apr 26, 2025 am 12:12 AM

UseanArray.arrayoveralistinpythonwhendealingwithhomogeneousdata, criticalcode prestasi, orinterfacingwithccode.1) homogeneousdata: arrayssavemememorywithtypedelements.2)

Adakah semua operasi senarai disokong oleh tatasusunan, dan sebaliknya? Mengapa atau mengapa tidak?Adakah semua operasi senarai disokong oleh tatasusunan, dan sebaliknya? Mengapa atau mengapa tidak?Apr 26, 2025 am 12:05 AM

Tidak, notalllistoperationsaresuportedByArrays, andviceversa.1) arraysdonotsupportdynamicoperationslikeappendorinsertwithoutresizing, whyimpactsperformance.2) listsdonotguaranteeconstantTimeComplexityFordirectacesscesscesscesscesscesscesscesscesscesessd.

See all articles

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

Video Face Swap

Video Face Swap

Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

Pelayar Peperiksaan Selamat

Pelayar Peperiksaan Selamat

Pelayar Peperiksaan Selamat ialah persekitaran pelayar selamat untuk mengambil peperiksaan dalam talian dengan selamat. Perisian ini menukar mana-mana komputer menjadi stesen kerja yang selamat. Ia mengawal akses kepada mana-mana utiliti dan menghalang pelajar daripada menggunakan sumber yang tidak dibenarkan.

VSCode Windows 64-bit Muat Turun

VSCode Windows 64-bit Muat Turun

Editor IDE percuma dan berkuasa yang dilancarkan oleh Microsoft

Versi Mac WebStorm

Versi Mac WebStorm

Alat pembangunan JavaScript yang berguna

PhpStorm versi Mac

PhpStorm versi Mac

Alat pembangunan bersepadu PHP profesional terkini (2018.2.1).