Dừng trình nền tải khỏi thời gian khởi động


9

Tôi muốn ngăn một số daemon tải vào lúc khởi động, đặc biệt là mực 3. Cách nào là tốt nhất để thực hiện việc này?


+1 cụm từ hoàn hảo cho ai đó đang tìm kiếm câu trả lời cho câu hỏi này.
msw

Câu trả lời:


7

Bạn có thể sử dụng tiện ích chkconfig cho mục đích này.

sudo apt-get install chkconfig

Để kiểm tra trạng thái cấp độ của mực, bạn có thể chạy lệnh này:

 chkconfig --list | grep squid

Điều này sẽ tạo ra một cái gì đó như dưới đây:

squid           0:off   1:off   2:on    3:on    4:on    5:on    6:off

Để tắt mực ở tất cả các cấp chạy, bạn có thể sử dụng lệnh này:

sudo chkconfig  squid off

 chkconfig --list | grep squid

squid           0:off   1:off   2:off   3:off   4:off   5:off   6:off

Để tắt mực ở một cấp độ chạy cụ thể, bạn có thể sử dụng lệnh này:

 chkconfig  --level 3  squid off

Chúng tôi có 7 cấp độ từ (0 - 6). Những cấp độ đó là gì? Bạn có thể giải thích cho chúng tôi?
karthick87

@ karthik87: Đây là một bài viết hay về các cấp độ chạy linux. Điều này sẽ giúp bạn: comptechdoc.org/os/linux/howlinuxworks/linux_hlrunlevels.html
aneeshep

Những gì về kịch bản mới nổi?
Javier Rivera

3

Trình nền hệ thống có thể sử dụng các tập lệnh init SysV kế thừa hoặc Upstart mới hơn.

Đối với tập lệnh sysv có một số công cụ quản lý, một trong những công cụ đó là "sysv-rc-conf" từ gói "sysv-rc-conf", cài đặt và khởi chạy nó từ thiết bị đầu cuối.

Về Upstart theo như tôi biết vẫn chưa có công cụ quản lý, bạn cần đổi tên thủ công tập lệnh tương ứng từ / etc / init, ví dụ:

mv /etc/init/ufw.conf /etc/init/ufw.conf.disabled

Squid3 sử dụng các tập lệnh sysv init, bạn có thể vô hiệu hóa nó bằng sysv-rc-conf.


1
Phụ lục: Khi chuyển công việc mới bắt đầu của bạn đi, bạn không thể tự khởi động nó nữa. Có lẽ tốt hơn là chỉ bỏ qua phần "bắt đầu" trong tệp .conf.
htorque

2

Squid sử dụng hệ thống init cũ, vì vậy lệnh này sẽ thực hiện thủ thuật : sudo update-rc.d -f squid3 remove.

Để biết thêm kiểm soát chi tiết về thời điểm bắt đầu / dừng dịch vụ: sudo sysv-rc-conf


Quảng cáo 1.: Cũng sẽ xóa các liên kết để dừng dịch vụ, đây có thể không phải là điều bạn muốn trong trường hợp bạn khởi động thủ công.
htorque

Điều đó sai, bạn luôn có thể bắt đầu / dừng nó với /etc/init.d/squid3 starthoặc stop.
sinh

Nó sẽ xóa các liên kết K * tự động dừng dịch vụ . ;)
htorque

Ai sẽ muốn điều đó? ;)
evgeny

Những người lười biếng (ME)! :-P
htorque

1

Hai cách đơn giản nhất (theo quan điểm của tôi).

1) mv /etc/init/squid3.conf /etc/init/squid3.conf.disabled

2) bình luận ra dòng sau

start on runlevel [2345]

trong /etc/init/squid3.conf


Số 2 là giải pháp duy nhất hiệu quả với tôi. Cảm ơn.
Paulo

0

Các câu trả lời trên không hoạt động cho Ubuntu 16.04 của tôi.

Đây là những gì nó hoạt động:

sudo systemctl stop squid 
update-rc.d squid disable

sudo systemctl status squid 

Mặc dù bạn có thể gặp lỗi như:

insserv: cảnh báo: hiện tại runlevel (s) (trống) của script script ghi đè mặc định LSB (2 3 4 5).

insserv: cảnh báo: hiện tại dừng runlevel (s) (0 1 2 3 4 5 6) của tập lệnh `squid 'ghi đè mặc định LSB (0 1 6). insserv: fopen (.depend.stop): Quyền bị từ chối

Dịch vụ vẫn dừng ngay cả sau khi khởi động lại.

Nếu bạn biết tại sao lỗi xảy ra và cách khắc phục, xin vui lòng bình luận hoặc chỉnh sửa câu trả lời.

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.