Ending Task มีข้อดีอะไรบ้างในการสิ้นสุดกระบวนการ?


9

จากสิ่งที่ฉันรู้ทุกครั้งที่เราต้องการหยุดแอพ (หรือแอพแช่แข็ง) เราจะไปที่ TaskManager เลือกแอพGo to Processและยุติกระบวนการ ควรใช้ "Ending Process" เหนือ "Ending Task" (บางครั้ง "End ลงท้าย" ไม่ทำงาน)

ภาพสำหรับภารกิจสุดท้าย:

ป้อนคำอธิบายรูปภาพที่นี่

ภาพสำหรับกระบวนการสิ้นสุด:

ป้อนคำอธิบายรูปภาพที่นี่

อย่างไรก็ตามhttp://technet.microsoft.com/en-us/library/bb726964.aspx :

ในขณะที่คุณตรวจสอบกระบวนการโปรดทราบว่าแม้ว่าแอปพลิเคชันจะมีกระบวนการหลักแอปพลิเคชันเดียวอาจเริ่มหลายกระบวนการ โดยทั่วไปกระบวนการเหล่านี้จะขึ้นอยู่กับกระบวนการแอปพลิเคชันหลักและจะหยุดทำงานเมื่อคุณยุติกระบวนการแอปพลิเคชันหลักหรือใช้ End Task ด้วยเหตุนี้คุณมักจะต้องการยุติกระบวนการแอปพลิเคชันหลักหรือแอปพลิเคชันเองแทนที่จะเป็นกระบวนการที่ต้องพึ่งพา

พวกเขากำลังบอกว่าเป็นที่ต้องการ "End Task" เพราะกระบวนการหยุดทำงานเมื่อฉันหยุดแอพ แต่ฉันไม่เข้าใจตรรกะของพวกเขาเลยทำไมไม่หยุดกระบวนการแทนล่ะ

ข้อดีอะไรEnding Taskมีมากกว่าEnding Process?

คำตอบ:


13

สำหรับโปรแกรมที่มีอย่างน้อยหนึ่งหน้าต่างEnd Taskจะทำเช่นเดียวกับการคลิกปุ่มX"ปิด" - มันจะส่งWM_CLOSEข้อความไปยังหน้าต่างนั้นโดยขอให้มันปิดเป็นอย่างดี (สำหรับหน้าต่างคอนโซลเทียบเท่าคือCTRL_CLOSE_EVENT) โปรแกรมสามารถให้ผู้ใช้บันทึกการเปลี่ยนแปลงหรือทำภารกิจการล้างข้อมูลต่าง ๆ หากกระบวนการเป็นไปตาม Task Manager รอสองสามวินาทีและดำเนินการกับการยกเลิกกระบวนการหากยังคงทำงานอยู่

หากกระบวนการนั้นหยุดชะงักหรือไม่ได้จัดการข้อความบนหน้าต่างที่ได้รับแน่นอนว่าทั้งEnd Taskและปุ่มปิดไม่สามารถทำงานได้ ในกรณีดังกล่าว Windows มักจะขอให้คุณหยุดโปรแกรมอย่างตั้งใจ แต่หลังจากให้เวลาเพียงพอแก่โปรแกรมในการตอบกลับ

ในขณะเดียวกันปุ่มEnd Processไม่เกี่ยวข้องกับงานหรือหน้าต่าง - มันเรียกTerminateProcess()ฟังก์ชั่นและ Windows จะทำลายกระบวนการทันทีโดยไม่ต้องแจ้งให้ทราบหรือให้โอกาสในการล้างข้อมูล

(ทรัพยากรเช่นหน่วยความจำจะถูกปล่อยโดยอัตโนมัติเมื่อกระบวนการหมดไปอย่างไรก็ตามอาจมีไฟล์ชั่วคราวต่าง ๆ หากโปรแกรมสร้างขึ้นและแน่นอนว่ามีความเสี่ยงที่ข้อมูลจะเสียหายหากกระบวนการนั้นสิ้นสุดลงในระหว่างการบันทึกข้อมูล)

ดูสิ่งนี้ด้วย:


2
และนั่นเป็นสาเหตุที่End Taskไม่ทำงานสำหรับโปรแกรมแช่แข็งใช่ไหม
Daniel Beck

2

อีกสองคำตอบที่จะได้งานที่ดีของการอธิบายสิ่งที่แตกต่างในแง่ของสิ่งที่เกิดขึ้น แต่เพียงที่จะใส่ในมุมมองวิธีที่พวกเขาแตกต่างกันในแง่ของวิธีการที่มันเกิดขึ้นในอดีตบอกโปรแกรมที่จะใกล้ชิดขณะที่หลังบอก Windows เพื่อฆ่าโปรแกรม.

ในการเปรียบเทียบมันเหมือนกับความแตกต่างระหว่างการขอให้ใครบางคนรวบรวมสิ่งของและออกจากห้องและบอกคนโกหกว่าทันทีและบังคับให้พวกเขาออกมา


1

ในการทำอย่างละเอียด: End Task จะพยายามและปิดแอพอย่างสง่างาม ถ้ามันแขวนแล้วมันจะให้คุณเลือก "จบตอนนี้" สิ่งนี้ให้ประโยชน์สองอย่างแก่คุณในการฆ่ากระบวนการ (ซึ่งเพียงพลังเดรัจฉานเช็ดมันออก):

  1. เปิดใช้งานการกู้คืนความเสียหายสำหรับแอพที่ลงทะเบียนกับคำอธิบาย MSDN โดยย่อของ Windows Vista (ขึ้นไป)
  2. อนุญาตให้ส่งรายงานข้อผิดพลาด

-7

มันเป็นเพียงความขัดแย้งในคำศัพท์ อาจมีฝ่ายให้ความช่วยเหลือของ Microsoft ฝั่งตะวันตกพูดในขณะที่ชายฝั่งตะวันออกใช้กระบวนการที่ถูกต้องทางเทคนิค

ในทางเทคนิคมันยังคงยุติกระบวนการ งานน่าจะเป็น wrapper ของกระบวนการที่แสดงหน้าต่างหรือไม่? ความช่วยเหลือของตัวจัดการงานไม่ได้กำหนดไว้เช่นกัน


3
คำว่า " งาน " เป็นที่ถูกต้อง มันมีความหมายแตกต่างจาก "กระบวนการ"
user1686
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.