Dịch vụ --status-all -> cột với [? ], [+] và [-] có nghĩa là gì?


13

Nếu tôi chạy lệnh "dịch vụ --status-all", mỗi dịch vụ (đang chạy?) Được liệt kê ở định dạng cột. Cột đầu tiên có [? ], [+] hoặc [-] trước tên dịch vụ. Cột này thể hiện điều gì? Không có gì ?, +, Và - có nghĩa là gì?

Xin lỗi nếu đây là một câu hỏi đơn giản. Tôi đã tìm kiếm trực tuyến trong khoảng 30 phút trước khi đến đây và hỏi.

Tôi thậm chí còn tìm thấy điều này: các biểu tượng trong dịch vụ --status-all có nghĩa là gì? trong đó câu trả lời "đúng" nêu rõ "Nó rút ra [+] hoặc [-] tùy thuộc vào trạng thái thoát tương ứng là 0 hoặc khác không.".

Vì vậy, tôi đoán câu hỏi mới của tôi là trạng thái zero và nonzero (!?!?!) Có nghĩa là gì?

Câu trả lời:


12

Vâng, đó chỉ là mã thoát. Sau khi chạy xong, nó có thể trả về số nguyên 8 bit (0-255) để cho biết cách thoát.

  • Zero (được ngụ ý nếu không có gì được trả lại) có nghĩa là ứng dụng đã kết thúc những gì nó được cho là phải làm và thoát ra một cách tự nhiên.
  • Mã khác không (1-255) có thể có nghĩa là bất cứ điều gì ứng dụng muốn. Trang man ( man <command>) thường sẽ cho bạn biết các mã này có ý nghĩa gì.

Về câu hỏi, đừng lật đổ nó:

  • + có nghĩa là nó đang chạy
  • -có nghĩa là nó không (nó có thể đã bị hỏng - nó có thể chưa bao giờ bắt đầu) và
  • ?có nghĩa là các dịch vụ không có statuslệnh, vì vậy không có cách nào lệnh dịch vụ có thể tìm ra cái gì.

1
Tôi hoàn toàn đồng ý với câu trả lời của bạn (+1), nhưng tôi không thể hiểu tại sao sudo service --status-all 2>&1 | grep sshđầu ra [ - ] sshngay cả khi tôi chạy lệnh này từ SSH? Hoặc tại sao sudo service --status-all 2>&1 | grep lightdmđầu ra [ ? ] lightdmkhi sudo service lightdm statushoạt động như một nét duyên dáng?
Radu Rădeanu

@ RaduRădeanu Để đoán, tôi nghĩ có thể là một /etc/init.dvấn đề di sản . Trên máy tính được nâng cấp seri của tôi, /etc/init.d/ssh status; echo $?hiển thị khác không (xấu, không chạy) và initctl listkhông hiển thị SSH. Trên hộp 14.04 của tôi initctrl không hiển thị SSH nhưng servicevẫn không thể đọc trạng thái. Cũng nên nhớ rằng initctrlhoạt động cho Upstart và servicelà một phần của sysvinit-utils. Nó không phải là hình ảnh rõ ràng nhất nhưng tôi nghĩ rằng có thể đi một số cách để giải thích một số điều kỳ quặc. Tôi chắc chắn việc chuyển sang systemd sẽ xóa mọi thứ D:
Oli

Tôi nghĩ rằng một mã thoát tiêu cực cũng có thể được trả lại, hoặc đó chỉ dành cho các tập lệnh phi dịch vụ?
saiarcot895
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.