Câu trả lời:
Công thức của tôi cho việc xóa bỏ dịch vụ (hãy cẩn thận với các rm
tuyên bố!)
systemctl stop [servicename]
systemctl disable [servicename]
rm /etc/systemd/system/[servicename]
rm /etc/systemd/system/[servicename] symlinks that might be related
systemctl daemon-reload
systemctl reset-failed
Có thể dịch vụ systemd 'kết thúc' các tập lệnh kiểu cũ trong /etc/init.d, vì vậy bạn cũng có thể muốn dọn sạch nó, nhưng đó không phải là nơi các dịch vụ systemd sống.
/etc/init.d/[servicename]
trước khi chạysystemctl reset-failed
systemctl cat [servicename]
.
Có lẽ bạn đang tìm kiếm reset-failed
:
$ sudo systemctl reset-failed
$
Từ trang man systemd:
reset-failed [PATTERN...]
Đặt lại trạng thái "không thành công" của các đơn vị được chỉ định hoặc nếu không có tên đơn vị nào được thông qua, hãy đặt lại trạng thái của tất cả các đơn vị. Khi một đơn vị bị lỗi theo một cách nào đó (tức là quá trình thoát với mã lỗi khác không, chấm dứt bất thường hoặc hết thời gian), nó sẽ tự động nhập trạng thái "không thành công" và mã thoát và trạng thái của nó được ghi lại cho người quản trị cho đến khi dịch vụ được khởi động lại hoặc thiết lập lại với lệnh này.
Âm thanh như bạn đã gỡ cài đặt nó, nhưng không xóa hook systemd:
# systemctl disable [servicename]
Thêm vào câu trả lời của @ mark-lakata và ghi nhớ sự chu đáo cần thiết cho rm
lệnh. [chkconfig]
có thể đơn giản hóa quá trình! ( bấm vào đây để đọc về chkconfig )
Để lặp lại danh sách các lệnh:
systemctl stop [servicename]
chkconfig [servicename] off
systemctl daemon-reload
systemctl reset-failed
Lưu ý: Lệnh 1 là tùy chọn tùy thuộc vào việc bạn có muốn duy trì dịch vụ chạy trong phiên hiện tại hay không (đối với câu hỏi này, nên sử dụng lệnh này).
Lệnh thứ 2 đảm nhiệm cả việc vô hiệu hóa và loại bỏ (theo các liên kết tượng trưng) dịch vụ.
chkconfig
là lệnh ban đầu để bật / tắt dịch vụ SysVinit. Trong các hệ thống sử dụng systemd
, nó có thể hiện diện như một lệnh tương thích ngược; nhưng systemctl
lệnh gốc chỉ đơn giản như sau:systemctl disable [servicename]
Xóa dịch vụ khỏi systemd:
Systemd sử dụng đơn vị (tệp để xác định dịch vụ) để xóa dịch vụ mà đơn vị phải xóa ... đây là danh sách các vị trí đơn vị:
/etc/systemd/system/ (and sub directories)
/usr/local/etc/systemd/system/ (and sub directories)
~/.config/systemd/user/ (and sub directories)
/usr/lib/systemd/ (and sub directories)
/usr/local/lib/systemd/ (and sub directories)
/etc/init.d/ (Converted old service system)
Làm mới systemd:
systemctl daemon-reload
systemctl reset-failed
Dịch vụ ma (không tìm thấy):
Systemd có thể liệt kê các dịch vụ ma (không tìm thấy) ngay cả khi đơn vị bị xóa vì nhiều lý do
(*) nếu một dịch vụ được đề cập ở đơn vị khác nhưng không tồn tại systemd vẫn sẽ liệt kê dịch vụ đó với trạng thái không tìm thấy ngay cả khi không có tệp đơn vị ... bạn có thể tìm kiếm đơn vị nào đang sử dụng dịch vụ đó bằng tìm kiếm văn bản và chỉnh sửa các đơn vị đó (không được đề xuất nếu bạn định cài đặt dịch vụ đó sau)
/usr/lib/systemd/system
và cả/etc/systemd/system/
. Để tham khảo, xem: access.redhat.com/documentation/en-US/Red_Hat_ Entryprise_Linux / Giả