Apa keuntungan yang dimiliki oleh Tugas Akhir daripada Proses Akhir?

9

Dari yang saya tahu, setiap kali kami ingin menghentikan aplikasi (atau aplikasi yang dibekukan), kami akan membuka TaskManager, memilih aplikasi, Go to Processdan menghentikan prosesnya. "Ending Process" lebih disukai daripada "Ending Task" (kadang-kadang "mengakhiri tugas" tidak berhasil).

Gambar untuk Tugas Akhir:

masukkan deskripsi gambar di sini

Gambar untuk Proses Akhir:

masukkan deskripsi gambar di sini

Namun, http://technet.microsoft.com/en-us/library/bb726964.aspx :

Saat Anda memeriksa proses, perhatikan bahwa meskipun aplikasi memiliki proses utama, satu aplikasi dapat memulai beberapa proses. Secara umum, proses ini tergantung pada proses aplikasi utama dan dihentikan ketika Anda menghentikan proses aplikasi utama atau menggunakan Tugas Akhir. Karena itu, Anda biasanya ingin menghentikan proses aplikasi utama atau aplikasi itu sendiri daripada proses dependen.

Mereka mengatakan itu lebih disukai daripada "Akhiri Tugas" karena prosesnya dihentikan ketika saya menghentikan aplikasi. Tapi saya tidak mengerti logika mereka sama sekali, mengapa tidak menghentikan proses saja?

Apa keuntungan tidak Ending Taskmemiliki lebih Ending Process?

Pacerier
sumber

Jawaban:

13

Untuk program yang memiliki setidaknya satu jendela, Akhiri Tugas melakukan hal yang sama seperti mengklik tombol X"Tutup" - itu mengirim WM_CLOSEpesan ke jendela itu, meminta ditutup dengan baik. (Untuk jendela konsol, yang setara adalah CTRL_CLOSE_EVENT.) Program dapat meminta pengguna untuk menyimpan perubahan, atau melakukan berbagai tugas pembersihan. Jika proses sesuai, Manajer Tugas menunggu beberapa detik dan mulai menghentikan proses jika masih berjalan.

Jika proses dibekukan atau tidak menangani pesan jendela yang diterimanya, maka, tentu saja, Tugas Akhir atau tombol Tutup tidak dapat berfungsi. Dalam kasus tersebut, Windows biasanya akan meminta Anda untuk mengakhiri program dengan paksa, tetapi hanya setelah memberikan waktu yang cukup bagi program untuk merespons.

Sementara itu, tombol End Process tidak berkaitan dengan tugas atau windows - ia memanggil TerminateProcess()fungsi dan Windows menghancurkan proses dengan segera, tanpa memberi tahu atau memberinya kesempatan untuk membersihkan.

(Sumber daya seperti memori dilepaskan secara otomatis begitu prosesnya hilang; namun, mungkin masih ada berbagai file sementara jika program membuatnya, dan tentu saja ada risiko korupsi data jika proses tersebut dihentikan di tengah penyimpanan data.)

Lihat juga:

pengguna1686
sumber
2
Dan itulah mengapa Tugas Akhir tidak bekerja untuk program beku, kan?
Daniel Beck
2

Dua jawaban lainnya melakukan pekerjaan dengan baik untuk menjelaskan apa perbedaannya dalam hal apa yang terjadi, tetapi hanya untuk menempatkan dalam perspektif bagaimana mereka berbeda dalam hal bagaimana hal itu terjadi, yang pertama memberitahu program untuk menutup sementara yang terakhir memberitahu Windows untuk membunuh program.

Sebagai analogi, itu seperti perbedaan antara meminta seseorang untuk mengumpulkan barang-barang mereka dan meninggalkan ruangan dan menyuruh seorang penjaga untuk segera dan secara paksa mendorong mereka keluar.

Synetech
sumber
1

Untuk menguraikan: Akhiri Tugas akan mencoba dan menutup aplikasi dengan anggun. Jika digantung, itu akan memberi Anda opsi untuk "berakhir sekarang." Ini memberi Anda dua manfaat daripada membunuh prosesnya (yang hanya dengan paksa menghapusnya):

  1. memungkinkan pemulihan kerusakan untuk aplikasi yang telah terdaftar dengan Windows Vista (dan lebih tinggi) Deskripsi MSDN singkat
  2. memungkinkan pengiriman laporan kesalahan
Mark Sowul
sumber
-7

Ini hanya perbedaan dalam terminologi. Mungkin Microsoft helpdesk pantai barat mengatakan tugas, sementara pantai timur menggunakan proses yang benar secara teknis.

Secara teknis masih mengakhiri proses. Tugas mungkin adalah pembungkus proses menampilkan jendela? Bantuan task manager juga tidak didefinisikan.

Zab
sumber
3
Istilah " Tugas " adalah benar; ia memiliki arti yang berbeda dari "proses".
user1686