สำหรับ Windows ฉันจะขอให้โปรแกรมที่กำลังรันยุติอย่างสง่างามได้อย่างไร


19

บน Unix หรือ Linux เป็นเรื่องง่ายที่จะขอให้แอปพลิเคชั่นหยุดทำงานอย่างนุ่มนวล: คุณส่งสัญญาณ SIGTERM หากกระบวนการ ID ของมันคือ 1234 คุณสามารถเรียกใช้เพียงkill 1234หรือหรือkill -s TERM 1234kill -15 1234

ฉันจะทำสิ่งเดียวกันใน Windows ได้อย่างไร

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

ฉันไม่ต้องการเขียนรหัสใด ๆ เพื่อทำสิ่งนี้ ถ้าฉันทำฉันจะถามใน Stack Overflow :)


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

4
ไม่มีสิ่งใดที่สง่างามเกี่ยวกับ Windows ........
Moab

คำตอบ:


17

taskkill.exe

แอนดี้ E เขียนtaskkill.exeที่คุณสามารถใช้

หากต้องการยุติกระบวนการด้วย ID กระบวนการ 1234:

taskkill /pid 1234

หากต้องการยกเลิก notepad.exe:

taskkill /im notepad.exe

สำหรับความช่วยเหลือเพิ่มเติม:

taskkill /?

เขาเพิ่ม:

/fสวิทช์จะบังคับให้ฆ่า แต่ไม่ได้ใช้มันก็จะส่งสัญญาณการเลิกจ้างเพื่อให้แอพลิเคชันปิดได้อย่างสง่างาม

เขาพูดถูก. ฉันพยายามใช้ taskkill.exe (ไม่ใช้/f) เพื่อยกเลิก Notepad และทำงานได้ตามที่คาดไว้ Notepad ถามฉันว่าฉันต้องการบันทึกข้อความที่ยังไม่ได้บันทึกหรือไม่

ฉันใช้ Windows 8.1 เวอร์ชั่นบ้าน ดูเหมือนว่าtaskkill.exeมาพร้อมกับ Windows โดยไม่มีค่าใช้จ่ายเพิ่มเติม c:\windows\system32มันอยู่ใน

หรือเพียงออกจากระบบ

หากคุณไม่ต้องการรบกวนสิ่งนี้เพียงออกจากระบบบัญชีผู้ใช้ Windows ของคุณจากนั้นลงชื่อเข้าใช้อีกครั้ง

แอปพลิเคชันคอนโซล

เกี่ยวกับแอพพลิเคชันคอนโซล (เช่น PowerShell) Chris Becke เพิ่ม :

ไม่มีทางที่แท้จริงในการปิดแอปพลิเคชั่นคอนโซลอย่างสง่างามบน Windows พวกเขาต้องการสนับสนุนกลไกการปิดที่สง่างาม


โปรดทราบว่านี่จะไม่ทำซ้ำสิ่งที่เกิดขึ้นเมื่อออกจากระบบหรือปิดเครื่อง สำหรับสิ่งนั้นให้ดูstackoverflow.com/questions/520910/…
Matt McHenry

5

คุณสามารถใช้rmlogotest.exe(เครื่องมือทดสอบโลโก้ผู้จัดการเริ่มต้นใหม่) ยูทิลิตี้ฟรีแวร์นี้เขียนโดย Microsoft เป็นส่วนหนึ่งของ Windows App Certification Kit

ในการรับ Kit App การรับรอง Windows เวอร์ชันล่าสุดให้ดาวน์โหลดและเรียกใช้ตัวติดตั้ง Windows SDK (คุณสามารถค้นหาตัวติดตั้ง Windows SDK ล่าสุดได้โดยทำการค้นหาโดย Google) ยกเลิกการเลือกช่องทั้งหมดยกเว้นช่อง Kit Windows Certification Certification รอให้ชุดดาวน์โหลดและติดตั้ง หากฉันจำได้ถูกต้องชุดนั้นคือสองร้อยเมกะไบต์

rmlogotest.exeอาจจะอยู่ในC:\Program Files (x86)\Windows Kits\10\App Certification Kitหากคุณใช้ Windows 10 เวอร์ชัน 10

เปิดพรอมต์คำสั่ง เปลี่ยนเป็นไดเร็กทอรีที่ถูกต้อง ป้อนrmlogotestเว้นวรรคตามด้วยหมายเลข ID กระบวนการของกระบวนการ

หากกระบวนการคือ "เริ่มการทำงานของโปรแกรมจัดการการรู้แจ้ง" rmlogotestจะเป็นการเริ่มระบบใหม่อย่างสง่างามและแจ้งให้คุณทราบ "การตรวจสอบความถูกต้องของโลโก้" มิฉะนั้นrmlogotestจะขอให้ยุติอย่างสง่างามจากนั้นอาจบอกคุณว่า "การตรวจสอบโลโก้ล้มเหลว"

ฉันพยายามใช้rmlogotest.exeเพื่อยกเลิก Notepad และทำงานได้ตามที่คาดไว้ Notepad ถามฉันว่าฉันต้องการบันทึกข้อความที่ยังไม่ได้บันทึกหรือไม่

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


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