Tôi đang tìm thư viện cho phép tôi tra cứu trạng thái của dịch vụ windows để xác minh rằng dịch vụ đã được bắt đầu và đang chạy. Tôi nhìn vào thư viện Sigar, nhưng đó là GPL và tôi không thể sử dụng nó. Giấy phép Thương mại hoặc BSD (ish) là bắt buộc vì điều này sẽ được đưa vào phần mềm thương mại.Có cách nào, trong java, để kiểm tra tình trạng của một dịch vụ windows?
Trả lời
Nếu không có gì khác giúp, hãy cố gắng nghĩ ra một cách tiếp cận hơi khác nhau (nếu bạn có thể, tất nhiên), ví dụ:
- Có một rất nhiều phần mềm miễn phí/không tự do mà không giám sát, bao gồm Giám sát dịch vụ Windows (ví dụ: nagios, Zabbix, v.v.). Các màn hình này thường có API mở, nơi ứng dụng Java của bạn có thể tích hợp vào một số cách khác nhau.
- Nếu bạn có quyền kiểm soát ứng dụng dịch vụ tùy chọn, hãy hiển thị một ứng dụng Java khác để kiểm tra (ví dụ: chạy trình nghe giả trên cổng, tạo tệp, v.v.). Các dịch vụ Windows không phải là một nền tảng đa nền tảng do đó không phải là thứ mà bạn mong đợi sẽ sớm được hỗ trợ.
Tôi không biết bất kỳ thư viện nào, nhưng tùy thuộc vào mức độ chi tiết cần thiết để bạn có thể nhận được bằng một số lệnh trình bao và phân tích cú pháp đầu ra.
NET START servicename
hoặc sẽ bắt đầu dịch vụ, hoặc cung cấp cho bạn trở lại một thông báo lỗi mà nói với bạn của mình đã bắt đầu. Tôi không biết bất kỳ lệnh nào sẽ chỉ cung cấp cho bạn trạng thái.
Tôi không nghĩ rằng có bất kỳ cách Java thuần túy nào để làm điều này bởi vì một số hệ điều hành không có khái niệm về "dịch vụ" như Windows. Trong các dự án của chúng tôi, chúng tôi đã viết một trình bao bọc xung quanh các lệnh gọi tới lệnh "sc" từ dòng lệnh. Để có được vị thế của một dịch vụ, bạn có thể làm: truy vấn
sc \\ một số máy tính "tên dịch vụ của tôi"
Bạn sẽ phải tự phân tích đầu ra nhưng nó khá đơn giản.
Tôi nghĩ đây là cách tốt nhất để kiểm tra trạng thái của dịch vụ.
import java.util.*;
import java.sql.*;
import java.io.*;
import java.text.*;
public class doscmd
{
public static void main(String args[])
{
try
{
Process p=Runtime.getRuntime().exec("sc query browser"); //sc query is commond and browser is the name of service
BufferedReader reader=new BufferedReader(new InputStreamReader(p.getInputStream()));
String line=reader.readLine();
while(line!=null)
{
if(line.trim().startsWith("STATE"))
{
if (line.trim().substring(line.trim().indexOf(":")+1,line.trim().indexOf(":")+4).trim().equals("1"))
System.out.println("Stopped");
else
if (line.trim().substring(line.trim().indexOf(":")+1,line.trim().indexOf(":")+4).trim().equals("2"))
System.out.println("Startting....");
else
if (line.trim().substring(line.trim().indexOf(":")+1,line.trim().indexOf(":")+4).trim().equals("3"))
System.out.println("Stopping....");
else
if (line.trim().substring(line.trim().indexOf(":")+1,line.trim().indexOf(":")+4).trim().equals("4"))
System.out.println("Running");
}
line=reader.readLine();
}
}
catch(IOException e1) { }
}
}
- 1. Tìm trạng thái dịch vụ Windows từ ứng dụng Java?
- 2. Kiểm tra tình trạng này là gì?
- 3. Kiểm tra cho 404 tình trạng lỗi trong jquery
- 4. Lệnh Windows để nhận trạng thái dịch vụ?
- 5. trong khi vòng lặp không kiểm tra tình trạng
- 6. Tôi làm cách nào để kiểm tra dịch vụ WCF?
- 7. Tôi làm cách nào để kiểm tra dịch vụ web?
- 8. Java JDBC tình trạng kết nối
- 9. Làm thế nào để kiểm tra tình trạng boolean trong EL?
- 10. Đặt kiểm tra tình trạng và phân công biến trong một câu lệnh if
- 11. Chạy một kịch bản Python trong shell script - Kiểm tra tình trạng
- 12. Kiểm tra dịch vụ SOA
- 13. Làm cách nào để GUI chờ dịch vụ windows?
- 14. Làm cách nào để kiểm tra tải/căng thẳng của các dịch vụ wcf được lưu trữ trong dịch vụ windows?
- 15. Làm cách nào để POST một chuỗi XML vào một dịch vụ web để kiểm tra?
- 16. Cách thu thập từng Tên dịch vụ và Trạng thái của nó trong Windows?
- 17. Kiểm tra Json trong một dịch vụ web
- 18. jQuery nhận tình trạng hộp kiểm
- 19. Cách để kiểm tra các dịch vụ RESTful?
- 20. Kiểm tra đơn vị trạng thái cho Windows Phone
- 21. Cho biết tình trạng chạy đua trong Java
- 22. AVRISPmkII tình trạng kết nối: Không rõ tình trạng 0x00
- 23. Có sẵn dịch vụ web để kiểm tra điểm tín dụng của một người không?
- 24. bắt đầu dịch vụ windows từ java
- 25. Có cách nào tiêu chuẩn để truy cập tệp dịch vụ windows trong .Net không?
- 26. Làm thế nào để đơn vị kiểm tra một lớp tiêu thụ một dịch vụ web?
- 27. Cách tốt nhất để kiểm tra xem dịch vụ có treo số
- 28. Cách tạo dịch vụ windows từ java jar?
- 29. Kiểm tra dịch vụ web WCF
- 30. Nhiều dịch vụ Windows trong một exe
cách đơn giản để thực hiện việc này trong Java –