Thiết lập các hành động khôi phục để thực hiện khi dịch vụ thất bại


10

Tôi đã cài đặt nhiều dịch vụ bằng văn bản tùy chỉnh của chúng tôi trên các hộp windows (không quan trọng nếu XP, Server, Vista). Tôi luôn định cấu hình để "Khởi động lại dịch vụ" vào các lần hỏng thứ 1, 2 và sau đó. Nhưng tôi chưa bao giờ thấy tác phẩm này; dịch vụ chỉ dừng lại (vì một lỗi hoặc một cái gì đó trong mã) nhưng không khởi động lại.

Tôi chỉ nhận thấy hộp kiểm "Kích hoạt các hành động dừng với lỗi". Điều này có phải được kiểm tra để phục hồi có ảnh hưởng nếu lỗi xảy ra do lỗi không?

cảm ơn, Mark.

Câu trả lời:


3

Nếu dịch vụ của bạn dừng do lỗi, được ghi lại bởi các cửa sổ thì có, bạn cần đánh dấu vào 'Kích hoạt hành động để dừng với lỗi', nếu không nó sẽ không hoạt động.

Nếu bạn không đánh dấu vào đây, thì nó sẽ chỉ khởi động lại các dịch vụ đã dừng vì lý do hợp pháp hoặc không xác định.


1
Cảm ơn - Tôi loại hình đó. Nhưng tôi đã nghĩ rằng "Lỗi" sẽ giống như "lỗi" và do đó dịch vụ sẽ bắt đầu mà không cần kiểm tra hộp.
M Schenkel

Tôi đồng ý có vẻ hơi kỳ lạ, vì hầu hết các lý do dịch vụ sẽ thất bại bạn nghĩ sẽ là một lỗi.
Sam Cogan

2
Không có hành động khôi phục nào được kích hoạt trên các dịch vụ đã dừng vì lý do "hợp pháp". Câu trả lời này vẫn gây nhầm lẫn cho các thuật ngữ "dừng" và "thất bại".
matpop

3
Bất cứ ai ở Microsoft đã viết ngôn ngữ này sẽ bị vô hiệu hóa vì sự bất tài của họ.
Brain2000

16

Hộp kiểm "Bật hành động cho các lỗi dừng" được giới thiệu với Windows Vista và Windows Server 2008, cung cấp một dòng tài liệu duy nhất, đáng xấu hổ :

Chọn Bật hành động cho các điểm dừng có lỗi để kích hoạt các hành động khôi phục mà dịch vụ đã dừng có lỗi.

Các Sc.exe chương trình cũng đã được cập nhật để cung cấp một lệnh mới: failureflag. Các tài liệu cho thấy một ví dụ xấu và không thực sự áp dụng đối với Windows Server 2003, nhưng cho chúng ta biết lệnh:

Chỉ định xem các hành động khôi phục sẽ được kích hoạt khi dịch vụ dừng do lỗi.

Vì vậy, hộp kiểm và sc failureflagđược sử dụng để đặt cùng một cờ.
Hãy gõ sc failureflagvào dấu nhắc lệnh, cuối cùng chúng ta cũng có được một mô tả khá hay:

Thay đổi cài đặt cờ hành động thất bại của dịch vụ. Nếu cài đặt này là 0 (mặc định), Trình quản lý điều khiển dịch vụ (SCM) chỉ cho phép các hành động lỗi được định cấu hình trên dịch vụ nếu quá trình dịch vụ kết thúc với dịch vụ ở trạng thái khác ngoài SERVICE_STOPPED. Nếu cài đặt này là 1, SCM cho phép các hành động lỗi được định cấu hình trên dịch vụ nếu dịch vụ đi vào trạng thái SERVICE_STOPPED với mã thoát Win32 khác 0 ngoài việc chấm dứt quy trình dịch vụ như trên. Cài đặt này bị bỏ qua nếu dịch vụ không có bất kỳ hành động lỗi nào được định cấu hình.

Một mô tả tương tự có thể được tìm thấy ở đây .
Vì vậy, câu trả lời chính xác cho câu hỏi ban đầu là: các hành động khôi phục được định cấu hình luôn có hiệu lực khi dịch vụ của bạn không chấm dứt ở trạng thái SERVICE_STOPPED. "Phải bật các hành động cho các điểm dừng có lỗi" nếu bạn cũng cần bật các hành động khôi phục khi dịch vụ của bạn chuyển sang trạng thái SERVICE_STOPPED, với điều kiện mã thoát không phải0 (lỗi).


2
Kudos cho một câu trả lời rất hữu ích!
Tim Lovell-Smith
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.