ฉันมีเซิร์ฟเวอร์ที่ใช้ Windows Server 2008 R2 และกระบวนการบริการ (บริการที่กำหนดเองของเรา) ทำงานภายใต้บัญชี SYSTEM บริการน่าจะหยุดชะงักและฉันต้องการที่จะหยุดมัน ฉันพยายามหยุดผ่านสแน็ปอิน "บริการ" ของคอนโซลการจัดการ แต่ก็ไม่ได้ผล กระบวนการบริการยังคงทำงานอยู่ แม้ว่าจะทำเครื่องหมายว่าไม่ทำงานในคอนโซลการจัดการแล้วก็ตาม มีวิธีฆ่ามันจากบรรทัดคำสั่งหรือไม่? โปรดทราบว่าบริการทำงานภายใต้บัญชี SYSTEM ฉันมีสิทธิ์ระดับผู้ดูแลระบบเต็มรูปแบบบนเซิร์ฟเวอร์

ฉันได้ลองpskillจากคอนโซลที่มีสิทธิ์ระดับสูง (เช่นเดียวกับpskill PID) แต่มันไม่ได้ผล: มันรายงานว่ากระบวนการนั้นถูกฆ่า แต่ฉันยังคงเห็นมันในตัวจัดการงาน

Taskkill ยังไม่ช่วย:

C:\>taskkill /f /im myservice.exe
ERROR: The process "myservice.exe" with PID 1268 could not be terminated.
Reason: There is no running instance of the task.

แต่กระบวนการยังคงปรากฏอยู่ในตัวจัดการงาน

อัปเดต: Powerhell Stop-Process -Name myservice -Forceก็ใช้งานไม่ได้เช่นกัน

มีแนวคิดใดบ้างที่จะฆ่ากระบวนการจริงๆ (ยกเว้นการรีบูตเซิร์ฟเวอร์)

answer

ดาวน์โหลดpstoolsและแตกไฟล์ zip ที่ดาวน์โหลดมา จะมีไฟล์ exe ชื่อ psexec

เปิด cmd.exe/command prompt พร้อมตัวเลือก run as admin มีคุณพิมพ์คำสั่งด้านล่าง "psexec.exe /s /i cmd.exe"

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