Di Windows, bagaimana saya bisa dengan anggun meminta program yang berjalan untuk berhenti?

17

Pada Unix atau Linux, mudah untuk dengan anggun meminta aplikasi yang sedang berjalan untuk mengakhiri: Anda mengirimkannya sinyal SIGTERM. Jika ID prosesnya adalah 1234, Anda cukup menjalankan kill 1234atau kill -s TERM 1234atau kill -15 1234.

Bagaimana saya bisa melakukan hal yang sama di Windows?

Jika saya ingat dengan benar, fitur "Tugas Akhir" dari Task Manager (bukan fitur "Proses Akhir" -nya) digunakan untuk melakukan apa yang saya inginkan. Tetapi, pada Windows 8.1, tidak lagi begitu lembut; ketika saya menggunakan fitur ini, itu menyebabkan saya kehilangan data yang belum disimpan.

Saya tidak ingin menulis kode apa pun untuk melakukan ini. Jika saya melakukannya, saya akan bertanya pada Stack Overflow. :)

tak terlupakanMendukungMonika
sumber
2
Jika Anda seorang pengembang perangkat lunak, dan Anda ingin melakukan ini secara terprogram, lihat pertanyaan Stack Overflow terkait tentang cara meminta dengan anggun proses penghentian .
tak terlupakanMendukungMonika
4
Tidak ada yang anggun tentang Windows ........
Moab

Jawaban:

17

taskkill.exe

Andy E menulis yang dapat Anda gunakan taskkill.exe.

Untuk mengakhiri proses dengan proses ID 1234:

taskkill /pid 1234

Untuk mengakhiri notepad.exe:

taskkill /im notepad.exe

Untuk bantuan lebih lanjut:

taskkill /?

Dia menambahkan:

The /fsaklar akan memaksa membunuh, tetapi tidak menggunakannya hanya mengirimkan sinyal terminasi sehingga aplikasi menutup anggun.

Dia benar. Saya mencoba menggunakan taskkill.exe (tanpa /f) untuk mengakhiri Notepad, dan itu berfungsi seperti yang diharapkan. Notepad bertanya kepada saya apakah saya ingin menyimpan teks yang belum disimpan yang saya masukkan.

Saya menggunakan versi rumah Windows 8.1. Sepertinya taskkill.exedisertakan dengan Windows tanpa biaya tambahan. Ini di c:\windows\system32.

Atau cukup logout

Jika Anda tidak ingin repot dengan semua ini, cukup keluar dari akun pengguna Windows Anda, lalu masuk kembali.

Aplikasi konsol

Mengenai aplikasi konsol (misalnya PowerShell), Chris Becke menambahkan :

Tidak ada cara nyata untuk menutup aplikasi konsol dengan anggun di Windows. Mereka perlu mendukung semacam mekanisme penutupan yang anggun.

tak terlupakan
sumber
Perhatikan bahwa ini tidak persis meniru apa yang terjadi pada logout atau shutdown; untuk itu, lihat stackoverflow.com/questions/520910/...
Matt McHenry
5

Anda dapat menggunakan rmlogotest.exe(Alat Tes Logo Restart Manager). Utilitas freeware ini, yang ditulis oleh Microsoft, adalah bagian dari Kit Sertifikasi Aplikasi Windows.

Untuk mendapatkan versi terbaru dari Kit Sertifikasi Aplikasi Windows, unduh dan jalankan installer Windows SDK. (Anda dapat menemukan penginstal Windows SDK terbaru dengan melakukan pencarian Google.) Hapus centang semua kotak kecuali untuk kotak Windows App Certification Kit. Tunggu kit diunduh dan diinstal. Jika saya ingat dengan benar, kit ini beberapa ratus megabyte.

rmlogotest.exemungkin akan ada di C:\Program Files (x86)\Windows Kits\10\App Certification Kitjika Anda menggunakan versi 10 dari Windows SDK.

Buka prompt perintah. Ubah ke direktori yang benar. Masukkan rmlogotestlalu spasi kemudian nomor proses ID proses.

Jika prosesnya adalah "Restart Manager aware", dengan rmlogotestanggun restart akan dan memberi tahu Anda "Logo Validation Passed". Jika tidak, rmlogotestakan meminta untuk mengakhiri dengan anggun, lalu dapat memberi tahu Anda "Validasi Logo Gagal".

Saya mencoba menggunakan rmlogotest.exeuntuk menghentikan Notepad, dan itu berfungsi seperti yang diharapkan. Notepad bertanya kepada saya apakah saya ingin menyimpan teks yang belum disimpan yang saya masukkan.

(Jika Anda bertanya-tanya apa itu Restart Manager dan apa, biarkan saya jelaskan. Restart Manager adalah bagian dari Windows, dan digunakan oleh Windows Installer 4.0 dan lebih tinggi. Ketika Windows Installer perlu menimpa atau menghapus file yang terbuka, ia menggunakan tiga - langkah proses. Ini memberitahu Restart Manager untuk dengan anggun mengakhiri proses yang menggunakan file. Ini menimpa file. Kemudian memberitahu Restart Manager untuk memulai proses lagi.)

tak terlupakanMendukungMonika
sumber
0

GnuWIN32 memiliki port windows dari utilitas linux umum termasuk kill.exe

http://gnuwin32.sourceforge.net/

Ini mendukung sinyal berikut dengan nama, atau nomor

λ kill -l                                                                                                                                                                                                                                                                
INT                                                                                                                                                                                                                                                                      
ILL                                                                                                                                                                                                                                                                      
FPE                                                                                                                                                                                                                                                                      
KILL                                                                                                                                                                                                                                                                     
SEGV                                                                                                                                                                                                                                                                     
TERM                                                                                                                                                                                                                                                                     
CHLD                                                                                                                                                                                                                                                                     
ABRT             
teknopaul
sumber