Đây là trình giám sát lệnh có thể được chạy trong nhà cung cấp dịch vụ lưu trữ miễn phí OnWorks bằng cách sử dụng một trong nhiều máy trạm trực tuyến miễn phí của chúng tôi như Ubuntu Online, Fedora Online, trình giả lập trực tuyến Windows hoặc trình mô phỏng trực tuyến MAC OS
CHƯƠNG TRÌNH:
TÊN
supervisord - Tài liệu giám sát
Người giám sát là một hệ thống máy khách / máy chủ cho phép người dùng giám sát và kiểm soát một số
quy trình trên hệ điều hành giống UNIX.
Nó chia sẻ một số mục tiêu giống nhau của các chương trình như khởi chạy, daemontools và runit. không giống
một số chương trình này, nó không được dùng để thay thế cho trong đó là "id quy trình
1 ". Thay vào đó, nó được sử dụng để kiểm soát các quá trình liên quan đến một dự án hoặc một
khách hàng, và có nghĩa là bắt đầu giống như bất kỳ chương trình nào khác tại thời điểm khởi động.
TÀI LIỆU
người giám sát
Phần máy chủ của người giám sát được đặt tên người giám sát. Nó có trách nhiệm bắt đầu trẻ
chương trình theo yêu cầu riêng của nó, phản hồi các lệnh từ máy khách, khởi động lại bị lỗi hoặc
các quy trình con đã thoát, ghi nhật ký quy trình con của nó tiêu chuẩn và tiêu chuẩn đầu ra, và tạo ra và
xử lý các "sự kiện" tương ứng với các điểm trong các vòng đời của quy trình con.
Quá trình máy chủ sử dụng một tệp cấu hình. Điều này thường nằm ở
/etc/supervisord.conf. Tệp cấu hình này là tệp cấu hình kiểu "Windows-INI". Nó
điều quan trọng là phải giữ cho tệp này an toàn thông qua các quyền thích hợp của hệ thống tệp vì nó có thể
chứa tên người dùng và mật khẩu không được mã hóa.
Chạy Giám sát viên
Phần này đề cập đến một BINDIR khi giải thích cách chạy người giám sát và
giám sát viên các lệnh. Đây là thư mục "bindir" mà cài đặt Python của bạn có
đã được định cấu hình với. Ví dụ: đối với một bản cài đặt Python được cài đặt qua
/ Cấu hình. --prefix = / usr / local / py; chế tạo; làm cho cài đặt, dựng lên, BINDIR sẽ là / usr / local / py / bin.
Các trình thông dịch Python trên các nền tảng khác nhau sử dụng một BINDIR. Nhìn vào đầu ra của
setup.py cài đặt, dựng lên nếu bạn không thể tìm ra vị trí của bạn.
Thêm a chương trình
Trước người giám sát sẽ làm bất cứ điều gì hữu ích cho bạn, bạn sẽ cần thêm ít nhất một
chương trình phần cấu hình của nó. Các chương trình phần này sẽ xác định một chương trình
chạy và quản lý khi bạn gọi người giám sát chỉ huy. Để thêm một chương trình, bạn cần phải
chỉnh sửa giám sát.conf tập tin.
Một trong những chương trình đơn giản nhất có thể chạy là UNIX làm sao chương trình. MỘT chương trình phần
nó sẽ chạy làm sao khi người giám sát quá trình khởi động được hiển thị bên dưới.
[chương trình: foo]
lệnh =/ bin / cat
Khổ thơ này có thể được cắt và dán vào giám sát.conf tập tin. Đây là đơn giản nhất
cấu hình chương trình khả thi, bởi vì nó chỉ đặt tên cho một lệnh. Cấu hình chương trình
các phần có nhiều tùy chọn cấu hình khác không được hiển thị ở đây. Nhìn thấy
programx_section để biết thêm thông tin.
Chạy người giám sát
Để bắt đầu người giám sát, chạy $ BINDIR / người giám sát. Quá trình kết quả sẽ daemonize
chính nó và tách khỏi thiết bị đầu cuối. Nó giữ một nhật ký hoạt động tại $ CWD / supervisor.log by
mặc định.
Bạn có thể bắt đầu người giám sát có thể thực thi ở phía trước bằng cách chuyển -n gắn cờ trên nó
dòng lệnh. Điều này rất hữu ích để gỡ lỗi các sự cố khởi động.
Chú ý:
Thời Gian người giám sát khởi động, nó sẽ tìm kiếm tệp cấu hình của nó theo mặc định
. Các địa điểm kể cả các hiện hành đang làm việc thư mục. Nếu bạn có ý thức về an ninh, bạn
có thể sẽ muốn chỉ định một đối số "-c" sau người giám sát chỉ định lệnh
một đường dẫn tuyệt đối đến tệp cấu hình để đảm bảo rằng ai đó không lừa bạn
đang chạy người giám sát từ bên trong một thư mục có chứa giả mạo giám sát.conf tập tin.
Một cảnh báo được phát ra khi trình giám sát được khởi động dưới dạng root mà không có điều này -c tranh luận.
Để thay đổi bộ chương trình được điều khiển bởi người giám sát, chỉnh sửa giám sát.conf hồ sơ
và giết -HÚT hoặc nếu không thì khởi động lại người giám sát tiến trình. Tệp này có một số ví dụ
định nghĩa chương trình.
người giám sát lệnh chấp nhận một số tùy chọn dòng lệnh. Mỗi lệnh này
tùy chọn dòng ghi đè bất kỳ giá trị tương đương nào trong tệp cấu hình.
người giám sát Dòng lệnh Các lựa chọn
-c FILE, --cấu hình =FILE
Con đường dẫn đến một người giám sát tập tin cấu hình.
-n, --nodaemon
chạy người giám sát ở phía trước.
-h, --Cứu giúp
Hiển thị người giám sát lệnh trợ giúp.
-u USER, - người dùng =USER
Tên người dùng UNIX hoặc id người dùng số. Nếu như người giám sát được bắt đầu với tư cách là người dùng root,
thiết lập cho người dùng này càng sớm càng tốt trong khi khởi động.
-m bát phân, --umask =bát phân
Số bát phân (ví dụ: 022) đại diện cho umask sẽ được sử dụng bởi người giám sát
sau khi nó bắt đầu.
-d PATH, --directory =PATH
Khi supervisord được chạy dưới dạng daemon, hãy cd vào thư mục này trước khi daemonizing.
-l FILE, --logfile =FILE
Đường dẫn tên tệp để sử dụng làm nhật ký hoạt động của người giám sát.
-y BYTES, --logfile_maxbytes =BYTES
Kích thước tối đa của tệp nhật ký hoạt động người giám sát trước khi xảy ra xoay vòng. Giá trị
được nhân hậu tố, ví dụ: "1" là một byte, "1MB" là 1 megabyte, "1GB" là 1
gigabyte.
-y NUM, --logfile_backups =NUM
Số lượng bản sao lưu của nhật ký hoạt động của người giám sát để lưu giữ. Mỗi
logfile sẽ có kích thước logfile_maxbytes.
-e LEVEL, --loglevel =LEVEL
Mức độ ghi nhật ký mà người giám sát sẽ ghi vào nhật ký hoạt động. Có giá trị
cấp độ là theo dõi, gỡ lỗi, Thông tin, cảnh báo, lôivà quan trọng.
-j FILE, --pidfile =FILE
Tên tệp mà người giám sát sẽ ghi tệp pid của nó vào.
-i STRING, --identifier =STRING
Mã định danh chuỗi tùy ý được hiển thị bởi các giao diện người dùng ứng dụng khách khác nhau cho trường hợp này của
người giám sát.
-q PATH, --childlogdir =PATH
Một đường dẫn đến một thư mục (nó phải tồn tại) nơi người giám sát sẽ viết AUTO
-mode bản ghi quy trình con.
-k, --không dọn dẹp
Ngăn chặn người giám sát khỏi thực hiện dọn dẹp (loại bỏ cũ AUTO xử lý tệp nhật ký)
lúc khởi động.
-a NUM, --minfds =NUM
Số lượng bộ mô tả tệp tối thiểu phải có sẵn cho người giám sát
trước khi nó bắt đầu thành công.
-t, --strip_ansi
Loại bỏ trình tự thoát ANSI khỏi tất cả quy trình ghi nhật ký con.
-v, --phiên bản
In số phiên bản giám sát ra ngoài để sắp xếp và thoát.
--profile_options =DANH SÁCH
Danh sách tùy chọn được phân tách bằng dấu phẩy để lập hồ sơ. Nguyên nhân người giám sát để chạy dưới một
hồ sơ và kết quả đầu ra dựa trên các tùy chọn, là danh sách được phân tách bằng dấu phẩy
những điều sau đây: tích lũy, cuộc gọi, người gọi. Ví dụ tích lũy, người gọi.
--minprocs =NUM
Số lượng khe quy trình hệ điều hành tối thiểu phải có sẵn cho người giám sát
trước khi nó bắt đầu thành công.
Tín hiệu
người giám sát chương trình có thể được gửi các tín hiệu khiến nó thực hiện các hành động nhất định
trong khi nó đang chạy.
Bạn có thể gửi bất kỳ tín hiệu nào trong số những tín hiệu này đến người giám sát xử lý ID. Id quy trình này
có thể được tìm thấy trong tệp được đại diện bởi pidfile tham số trong [giám sát viên] phần
của tệp cấu hình (theo mặc định, nó là $ CWD / supervisord.pid).
Tín hiệu Người xử lý
HẠN MỤC TIÊU
người giám sát và tất cả các quy trình con của nó sẽ ngừng hoạt động. Điều này có thể mất vài giây.
KÝ HIỆU
người giám sát và tất cả các quy trình con của nó sẽ ngừng hoạt động. Điều này có thể mất vài giây.
THEO DÕI
người giám sát và tất cả các quy trình con của nó sẽ ngừng hoạt động. Điều này có thể mất vài giây.
ĐĂNG KÍ
người giám sát sẽ dừng tất cả các quá trình, tải lại cấu hình từ cấu hình đầu tiên
tập tin nó tìm thấy và khởi động lại tất cả các quy trình.
SIGUSR2
người giám sát sẽ đóng và mở lại nhật ký hoạt động chính và tất cả các tệp nhật ký con.
Runtime Bảo mật
Các nhà phát triển đã cố gắng hết sức để đảm bảo rằng việc sử dụng người giám sát quá trình chạy như
root không thể dẫn đến leo thang đặc quyền ngoài ý muốn. Nhưng caveat người khai sáng. Giám sát là
không hoang tưởng như một cái gì đó như daemontools của DJ Bernstein, vì người giám sát
cho phép các thông số kỹ thuật đường dẫn tùy ý trong tệp cấu hình của nó mà dữ liệu có thể được
bằng văn bản. Cho phép lựa chọn đường dẫn tùy ý có thể tạo ra lỗ hổng từ liên kết biểu tượng
các cuộc tấn công. Hãy cẩn thận khi chỉ định đường dẫn trong cấu hình của bạn. Đảm bảo rằng
người giám sát không thể đọc hoặc ghi tệp cấu hình bởi người dùng không có đặc quyền và
rằng tất cả các tệp được cài đặt bởi gói người giám sát đều có bảo vệ quyền đối với tệp "lành mạnh"
cài đặt. Ngoài ra, hãy đảm bảo rằng PYTHONPATH là lành mạnh và đó là tất cả tiêu chuẩn Python
các tệp thư viện có đầy đủ các biện pháp bảo vệ quyền đối với tệp.
Chạy người giám sát tự động on khởi động
Nếu bạn đang sử dụng phiên bản Supervisor được đóng gói phân phối, thì phiên bản này phải là
được tích hợp vào cơ sở hạ tầng quản lý dịch vụ của phân phối của bạn.
Có các tập lệnh do người dùng đóng góp cho các hệ điều hành khác nhau tại:
https://github.com/Supervisor/initscripts
Có một số câu trả lời tại Serverfault trong trường hợp bạn gặp khó khăn: Làm thế nào đến tự động Bắt đầu
người giám sát on Linux (Ubuntu)
Các quy trình phụ
người giám sátMục đích chính của nó là tạo và quản lý các quy trình dựa trên dữ liệu trong
tập tin cấu hình. Nó thực hiện điều này bằng cách tạo các quy trình con. Mỗi quy trình con sinh ra bởi
supervisor được quản lý trong suốt thời gian tồn tại của nó bởi supervisord (người giám sát là
quy trình mẹ của mỗi quy trình mà nó tạo ra). Khi một đứa trẻ chết, người giám sát sẽ được thông báo về
cái chết của nó thông qua SIGCHLD tín hiệu và nó thực hiện hoạt động thích hợp.
nondaemonizing of Các quy trình phụ
Các chương trình được chạy dưới sự giám sát của người giám sát không nên tự trùng lặp. Thay vào đó họ
nên chạy ở phía trước. Họ không nên tách khỏi thiết bị đầu cuối mà từ đó họ
được bắt đầu.
Cách dễ nhất để biết liệu một chương trình có chạy ở nền trước hay không là chạy lệnh
gọi chương trình từ một dấu nhắc trình bao. Nếu nó cho phép bạn kiểm soát lại thiết bị đầu cuối,
nhưng vẫn tiếp tục chạy, nó tự làm mờ đi và điều đó gần như chắc chắn là sai
cách để chạy nó dưới sự giám sát. Bạn muốn chạy một lệnh về cơ bản yêu cầu bạn
nhấn Ctrl-C để lấy lại quyền kiểm soát thiết bị đầu cuối. Nếu nó cung cấp cho bạn một lời nhắc shell trở lại
sau khi chạy nó mà không cần nhấn Ctrl-C, nó không hữu ích dưới người giám sát. Tất cả các
các chương trình có các tùy chọn để chạy ở phía trước nhưng không có "cách chuẩn" nào để làm điều đó;
bạn sẽ cần đọc tài liệu cho từng chương trình.
Dưới đây là các ví dụ về tệp cấu hình được biết để khởi động các chương trình phổ biến trong
chế độ "tiền cảnh" dưới Người giám sát.
Các ví dụ of chương trình cấu hình
Dưới đây là một số ví dụ về cấu hình chương trình "thế giới thực":
Apache 2.2.6
[chương trình: apache2]
command = / path / to / httpd -c "ErrorLog / dev / stdout" -DFOREGROUND
redirect_stderr = true
Hai cung hoàng đạo 2.X trường hợp và một ZEO máy chủ
[chương trình: zeo]
lệnh = / path / to / runzeo
ưu tiên = 1
[chương trình: zope1]
lệnh = / path / to / instance / home / bin / runzope
ưu tiên = 2
redirect_stderr = true
[chương trình: zope2]
lệnh = / path / to / another / instance / home / bin / runzope
ưu tiên = 2
redirect_stderr = true
Bưu điện 8.X
[chương trình: postgres]
lệnh = / path / to / postmaster
; chúng tôi sử dụng tín hiệu tắt "nhanh" SIGINT
stopignal = INT
redirect_stderr = true
OpenLDAP tát
[chương trình: tát nước]
command = / path / to / tátd -f /path/to/slapd.conf -h ldap: //0.0.0.0: 8888
redirect_stderr = true
Khác Các ví dụ
Các ví dụ khác về tập lệnh shell có thể được sử dụng để khởi động các dịch vụ trong người giám sát có thể
được tìm thấy tại http://thedjbway.b0llix.net/services.html. Những ví dụ này thực sự dành cho
daemontools nhưng tiền đề là giống nhau đối với người giám sát.
Có sẵn một bộ sưu tập các công thức nấu ăn khác để bắt đầu các chương trình khác nhau ở phía trước
từ http://smarden.org/runit/runscripts.html.
pidproxy chương trình
Một số quy trình (như mysqld) bỏ qua các tín hiệu được gửi đến quy trình thực tế được tạo ra bởi
người giám sát. Thay vào đó, một chuỗi / quy trình "đặc biệt" được tạo bởi các loại chương trình này
mà chịu trách nhiệm xử lý các tín hiệu. Đây là vấn đề vì người giám sát có thể
chỉ giết một quá trình mà nó tạo ra chính nó. Nếu một quy trình được tạo bởi người giám sát tạo ra
các quy trình con của chính nó, người giám sát không thể giết chúng.
May mắn thay, những loại chương trình này thường viết một "pidfile" chứa
PID của quy trình "đặc biệt", và có nghĩa là được đọc và sử dụng để kết thúc quy trình. Như
một giải pháp cho trường hợp này, một pidproxy chương trình có thể xử lý khởi động các loại này
của các quy trình. Các pidproxy chương trình là một miếng đệm nhỏ bắt đầu một quá trình và dựa trên
nhận tín hiệu, gửi tín hiệu đến pid được cung cấp trong pidfile. Một ví dụ
mục nhập chương trình cấu hình cho chương trình hỗ trợ pidproxy được cung cấp bên dưới.
[chương trình: mysql]
command = / path / to / pidproxy / path / to / pidfile / path / to / mysqld_safe
pidproxy chương trình được đưa vào cấu hình của bạn $ BINDIR khi người giám sát được cài đặt
(nó là một "tập lệnh giao diện điều khiển").
Quy trình phụ Môi trường
Các quy trình con sẽ kế thừa môi trường của trình bao được sử dụng để bắt đầu người giám sát
chương trình. Một số biến môi trường sẽ được thiết lập bởi người giám sát chính nó trong đứa trẻ
môi trường cũng vậy, bao gồm GIÁM SÁT_ENABLED (một lá cờ cho biết quá trình đang diễn ra
kiểm soát giám sát), SUPERVISOR_PROCESS_NAME (tên tiến trình được chỉ định cấu hình-tệp cho
quá trình này) và GIÁM SÁT_GROUP_NAME (tên nhóm quá trình được cấu hình-tệp chỉ định cho
quá trình con).
Các biến môi trường này có thể bị ghi đè trong [giám sát viên] cấu hình phần
tùy chọn có tên môi trường (áp dụng cho tất cả các quy trình phụ) hoặc trong [chương trình: x]
phần môi trường tùy chọn cấu hình (chỉ áp dụng cho quy trình con được chỉ định trong
[chương trình: x] phần). Các cài đặt "môi trường" này là phụ gia. Nói cách khác, mỗi
môi trường của quy trình con sẽ bao gồm:
Các biến môi trường được đặt trong shell được sử dụng để bắt đầu trình giám sát ...
... được thêm vào / bị ghi đè bởi ...
... các môi trường biến định ở trong các môi trường toàn cầu
tùy chọn cấu hình ...
... được thêm vào / bị ghi đè bởi ...
... người giám sát cụ thể môi trường biến
(GIÁM SÁT_ENABLED, SUPERVISOR_PROCESS_NAME, GIÁM SÁT_GROUP_NAME) ..
... được thêm vào / bị ghi đè bởi ...
... các môi trường biến định ở trong các mỗi quá trình
tùy chọn cấu hình "môi trường".
Không có trình bao nào được thực thi bởi người giám sát khi nó chạy một quy trình con, vì vậy các biến môi trường
như là USER, PATH, TRANG CHỦ, SHELL, TÊN ĐĂNG NHẬP, v.v. không bị thay đổi so với mặc định của chúng hoặc
nếu không được chỉ định lại. Điều này đặc biệt quan trọng cần lưu ý khi bạn đang chạy một
chương trình từ một người giám sát chạy như root với một người dùng = khổ thơ trong cấu hình. không giống
cron, người giám sát không cố gắng thần thánh hóa và ghi đè môi trường "cơ bản"
các biến như USER, PATH, TRANG CHỦvà TÊN ĐĂNG NHẬP khi nó thực hiện một setuid cho người dùng được xác định
trong người dùng = tùy chọn cấu hình chương trình. Nếu bạn cần đặt các biến môi trường cho
chương trình cụ thể có thể được thiết lập bởi một lệnh gọi shell cho một
người dùng, bạn phải làm điều đó một cách rõ ràng trong môi trường = tùy chọn cấu hình chương trình. Một ví dụ
cách thiết lập các biến môi trường này như bên dưới.
[chương trình: apache2]
command = / home / chrism / bin / httpd -c "ErrorLog / dev / stdout" -DFOREGROUND
user = chrism
môi trường = HOME = "/ home / chrism", USER = "chrism"
Quy trình Bang
Quá trình do người giám sát kiểm soát sẽ ở một trong các trạng thái dưới đây vào bất kỳ thời điểm nào.
Bạn có thể thấy những tên trạng thái này trong các phần tử giao diện người dùng khác nhau trong ứng dụng khách.
DỪNG (0)
Quá trình đã bị dừng do yêu cầu dừng hoặc chưa bao giờ được bắt đầu.
BẮT ĐẦU (10)
Quá trình đang bắt đầu do một yêu cầu bắt đầu.
ĐANG CHẠY (20)
Quá trình đang chạy.
RÚT LUI (30)
Quá trình đi vào BẮT ĐẦU trạng thái nhưng sau đó thoát ra quá nhanh để chuyển sang
các ĐANG CHẠY nhà nước.
DỪNG LẠI (40)
Quá trình đang dừng do yêu cầu dừng.
ĐÃ THOÁT (100)
Quá trình thoát khỏi ĐANG CHẠY trạng thái (dự kiến hoặc bất ngờ).
Fatal (200)
Quá trình này không thể bắt đầu thành công.
KHÔNG BIẾT (1000)
Quá trình này ở trạng thái không xác định (người giám sát lỗi lập trình).
Mỗi quá trình chạy dưới sự giám sát sẽ tiến triển qua các trạng thái này như sau
đồ thị có hướng.
[image: Đồ thị chuyển đổi trạng thái quy trình con] [image] Chuyển đổi trạng thái quy trình con
Graph.UNINDENT
Một quá trình trong DỪNG cho biết nếu nó đã bị dừng ngay lập tức hoặc nếu nó đã
chưa bao giờ được bắt đầu.
Khi một quá trình bắt đầu tự động trong RÚT LUI trạng thái, nó sẽ tự động
được khởi động lại bởi người giám sát. Nó sẽ chuyển đổi giữa BẮT ĐẦU và RÚT LUI trạng thái cho đến khi nó
hiển nhiên là nó không thể được khởi động vì số lượng sự khởi đầu có
vượt quá mức tối đa, tại thời điểm đó, nó sẽ chuyển sang Fatal tiểu bang. Mỗi lần bắt đầu
việc thử lại sẽ mất nhiều thời gian hơn.
Khi một quy trình trong ĐÃ THOÁT trạng thái, nó sẽ tự động khởi động lại:
· Không bao giờ nếu nó Khởi động lại tự động tham số được đặt thành sai.
· Vô điều kiện nếu nó Khởi động lại tự động tham số được đặt thành đúng.
· Có điều kiện nếu nó Khởi động lại tự động tham số được đặt thành bất ngờ. Nếu nó thoát ra với một
mã thoát không khớp với một trong các mã thoát được xác định trong lối ra
tham số cấu hình cho quá trình, nó sẽ được khởi động lại.
Quá trình tự động chuyển đổi từ ĐÃ THOÁT đến ĐANG CHẠY do được định cấu hình
để tự động khởi động lại có điều kiện hoặc vô điều kiện. Số lần chuyển đổi giữa
ĐANG CHẠY và ĐÃ THOÁT không bị giới hạn theo bất kỳ cách nào: có thể tạo cấu hình
liên tục khởi động lại một quá trình đã thoát. Đây là một tính năng, không phải là một lỗi.
Quá trình tự động khởi động lại sẽ không bao giờ được tự động khởi động lại nếu nó kết thúc trong Fatal
trạng thái (nó phải được khởi động lại theo cách thủ công từ trạng thái này).
Quá trình chuyển đổi thành DỪNG LẠI trạng thái thông qua một yêu cầu dừng quản trị và sẽ
sau đó kết thúc trong DỪNG nhà nước.
Quá trình không thể dừng thành công sẽ ở trong DỪNG LẠI trạng thái mãi mãi.
Tình huống này sẽ không bao giờ đạt được trong các hoạt động bình thường vì nó ngụ ý rằng
quá trình không phản hồi cho một trận chung kết SIGKILL tín hiệu được gửi đến nó bởi người giám sát, đó là
"không thể" trong UNIX.
Các chuyển đổi trạng thái luôn yêu cầu hành động của người dùng để gọi là:
Fatal -> BẮT ĐẦU
ĐANG CHẠY -> DỪNG LẠI
Các chuyển đổi trạng thái thường, nhưng không phải luôn luôn, yêu cầu hành động của người dùng để gọi là
những điều này, với các ngoại lệ được lưu ý:
DỪNG -> BẮT ĐẦU (ngoại trừ khi khởi động trình giám sát nếu quá trình được định cấu hình để tự động khởi động lại)
ĐÃ THOÁT -> BẮT ĐẦU (ngoại trừ nếu quá trình được định cấu hình để tự động khởi động lại)
Tất cả các chuyển đổi trạng thái khác được quản lý bởi người giám sát tự động.
Thuật ngữ
daemontools
A quá trình điều khiển hệ thống by DJ Bernstein.
khởi động
A quá trình điều khiển hệ thống đã sử dụng by Apple như quy trình 1 trong Mac OS X.
runit A quá trình điều khiển hệ thống.
Siêu cấp
Một gói cung cấp các triển khai trình xử lý sự kiện khác nhau cắm vào
Người giám sát có thể giúp giám sát việc sử dụng bộ nhớ của quá trình và trạng thái sự cố:
http://pypi.python.org/pypi/superlance.
cái ô Viết tắt của người sử dụng mặt nạ: đặt mặt nạ tạo chế độ tệp của tiến trình hiện tại.
Xem http://en.wikipedia.org/wiki/Umask.
Sử dụng giám sát viên trực tuyến bằng dịch vụ onworks.net