Bagaimana saya bisa membunuh proses yang tidak dapat diraih?

13

Saya menutup aplikasi, tetapi prosesnya tetap ada dalam daftar. Saya mencoba untuk berhenti dari task manager, tetapi tidak ada yang terjadi. Tidak ada pesan kesalahan, proses hanya tetap dalam daftar. Saya mencoba untuk men-debug itu, tetapi debugger mengatakan:

Tidak dapat melampirkan ke proses mogok. Operasi yang diminta tidak didukung.

Ini terjadi dengan VS2008 dan beberapa program lain, kadang-kadang.

Bagaimana cara menghentikannya?

skevar7
sumber
Itulah salah satu alasan saya beralih ke Linux. Meskipun saya mengalami masalah ini di bawah Win XP, tampaknya tidak berubah sejak saat itu.
petersohn
4
Menurut samba.2283325.n4.nabble.com/... ada situasi yang persis sama di Linux - proses menunggu di kernel tidak bisa dilakukan. Ini adalah salah satu alasan saya beralih ke Windows.
ta.speot.is
Artikel Mark Russinovich "Proses Unkillable" mengatakan bahwa Anda dapat menggunakan alat debugging kernel-lokal untuk mencari tahu mengapa suatu proses tidak dapat dilakukan. Artikel ini memberi Anda petunjuk tentang apa yang harus dilakukan. Anda memerlukan Alat Debugging freeware untuk Windows .
tak terlupakanMendukungMonika

Jawaban:

12

Sayangnya, satu-satunya jalan nyata adalah me-reboot.

Saya juga memiliki masalah ini, dan saya sama sekali tidak menemukan cara untuk berhasil membunuh proses yang macet. Saya mencoba hampir semua aplikasi pskill / serupa yang bisa saya temukan, dan semuanya gagal.

Seperti yang saya pahami, penyebab paling umum dari masalah ini adalah ketika proses yang salah memuat driver sistem, dan kemudian mengirimkannya permintaan yang gagal diselesaikan. Rupanya kernel tidak dapat mendeallocate memori dengan benar dari proses ketika ditutup karena driver yang macet dalam keadaan menunggu IO yang memerlukan akses ke ruang alamat proses.

(Sebagian besar ditulis dari) http://blogs.technet.com/markrussinovich/archive/2005/08/17/unkillable-processes.aspx

Nama palsu
sumber
2
Yup, itu tentu saja penyebab paling umum dari hal semacam ini. Sebagian besar proses tanpa keterampilan yang saya lihat terkait dengan CD-drive (mis. EAC.EXE) Atau TV tuner / kartu video (mis ATIMMC.EXE). Dalam kedua kasus, itu mengarah ke kesalahan pengemudi, dan siapa pun yang belajar dan melakukan pekerjaan pengemudi akan tahu bagaimana hal-hal yang bermasalah dapat terjadi pada tingkat itu, dan apa jenis efek "aneh" yang dapat mereka miliki di tanah pengguna (setidaknya BSODs adalah definitif dan jelas).
Synetech
1
@ Synetech inc. - Semua masalah yang saya miliki terkait dengan disk, atau dalam perangkat lunak yang benar-benar tidak memerlukan driver sama sekali (Saya TIDAK tahu mengapa mereka memutuskan untuk menjalankannya di kernel). Saya tidak berpikir Anda dapat membuat pernyataan menyeluruh tentang jenis perangkat lunak apa yang paling sering mengalami gangguan yang tidak dapat dimatikan.
Nama Palsu
3

Peretas Proses memiliki perintah Miscellaneous → Terminator yang akan mencoba banyak metode berbeda untuk mematikan proses Anda:

gagal pada sebagian besar upaya

deskripsi lengkap

Dalam pengujian saya, semua ini dilakukan adalah mengunci Proses Hacker dan mengubahnya menjadi proses yang tidak dapat digunakan juga, tapi mungkin itu akan berhasil dalam beberapa kasus.

endolit
sumber
2
Terminator telah dihapus dari Process Hacker dan dipindahkan ke sebuah plugin. Ada utas forum tentang hal itu. Pengelola mengklaim: "Terminator tidak berguna ... karena itu tidak lebih efektif daripada fungsi terminasi normal." Beberapa orang menjawab dan tidak setuju.
tak terlupakanMendukungMonika
Kemudian, dmex memindahkan Terminator ke sebuah plugin. Kode sumber ada di sini . Seperti tulisan ini, tidak ada biner belum . Ketika biner dirilis, itu akan dipublikasikan ke halaman rilis dmex .
tak terlupakanMendukungMonika
1
Saya baru saja mengajukan permintaan fitur , meminta Terminator versi kompilasi. Untuk saat ini, saya kira Anda bisa menggunakan versi Proses Hacker yang lebih lama dari 2,39. Misalnya, Anda dapat menggunakan versi 2.38, yang tersedia di sini .
tak terlupakanMendukungMonika
Ada juga opsi yang ditambahkan oleh debugger dan alasan untuk tidak membunuh adalah itu. Miscellaneous mendeteksi itu dan menambahkan debugger detach
Ghita
2

Kadang - kadang proses bisa diblokir pada sumber daya atau utas atau sesuatu, dan berhenti atau membebaskan itu, membebaskan proses dan membiarkannya berakhir. Ini agak mirip dengan bagaimana ketika Anda menghapus (ke recycle bin) file di Explorer yang sedang digunakan, itu tidak benar-benar pergi dan tampaknya macet (tanpa segera mengembalikan kesalahan yang digunakan / dikunci), tetapi jika Anda keluar dari program yang terkunci dalam lima detik, file tiba-tiba menghilang.

Saya telah melihat ini terjadi pada kesempatan, terutama dengan program yang memiliki dialog pop-up atau sesuatu yang entah bagaimana disembunyikan; menemukan cara untuk mengabaikan dialog memungkinkan utas untuk mengakhiri, sehingga memungkinkan proses berakhir.

Saya menduga bahwa dengan peningkatan dalam, namun masih relatif baru dari pemrograman multi-threaded, hal-hal seperti ini akan menjadi lebih umum, setidaknya untuk sementara waktu.

Synetech
sumber
0

Kemungkinan program yang Anda gunakan dikembangkan sebelum Windows Vista / 7 dan tidak kompatibel dengan perubahan yang dilakukan.

Taruhan terbaik Anda adalah untuk menemukan executable untuk program-program yang memiliki masalah ini, klik kanan, pergi ke properti, lalu pilih compatiblity, akhirnya pilih Windows XP sebagai mode kompatibilitas.

Daisetsu
sumber
0

luncurkan CMD sebagai admin, dan gunakan taskkill untuk mematikannya. Contoh:

taskkill / F yourprogram.exe Anda

ATAU

taskkill / F / im yourprogram.exe Anda

Jika Anda terjebak pada sintaks taskkill CMD, ketik taskkill /?

Ethan J.
sumber
1
Selamat Datang di Pengguna Super! Meskipun ini dapat membantu menyelesaikan masalah, itu tidak menjelaskan mengapa dan / atau bagaimana mengatasi masalah tersebut. Memberikan konteks tambahan ini akan secara signifikan meningkatkan nilai pendidikan jangka panjangnya. Harap edit jawaban Anda untuk menambahkan penjelasan, termasuk apa yang parameter lakukan dan batasan serta asumsi apa yang berlaku. Terima kasih.
fixer1234
GALAT: Proses "AutoHotkeyU64_UIA.exe" dengan PID 16872 tidak dapat dihentikan. Alasan: Tidak ada instance menjalankan tugas.
Shayan