Từ man 5 init
:
Môi trường làm việc
Mỗi công việc được chạy với môi trường từ các sự kiện hoặc lệnh đã khởi động nó. Ngoài ra, bạn có thể xác định mặc định trong
công việc có thể được ghi đè sau đó và chỉ định biến môi trường nào được xuất vào các sự kiện được tạo cho công việc.
Biến môi trường UPSTART_EVENT đặc biệt chứa danh sách các sự kiện đã bắt đầu công việc, nó sẽ không xuất hiện nếu
công việc đã được bắt đầu bằng tay.
Ngoài ra, các kịch bản trước dừng và sau dừng được chạy với môi trường của các sự kiện hoặc lệnh đã dừng công việc.
Biến môi trường UPSTART_STOP_EVENT chứa danh sách các sự kiện đã dừng công việc, nó sẽ không xuất hiện nếu công việc
đã được dừng bằng tay.
Tất cả các công việc cũng chứa các biến môi trường UPSTART_JOB và UPSTART_INSTANCE, chứa tên của công việc và thể hiện.
Chúng hầu hết được sử dụng bởi tiện ích initctl (8) để mặc định thực hiện công việc mà các lệnh được gọi từ đó.
env KHÓA [= GIÁ TRỊ]
Xác định một biến môi trường mặc định, giá trị có thể bị ghi đè bởi sự kiện hoặc lệnh bắt đầu công việc.
Nếu được chỉ định, có giá trị, giá trị biến được đưa ra giá trị GIÁ TRỊ. Nếu chỉ đưa ra hungKEY, thì giá trị được lấy
từ môi trường riêng của init (8) daemon.
phím xuất
Xuất giá trị của biến môi trường vào các sự kiện bắt đầu (7), bắt đầu (7), dừng (7) và dừng (7) cho việc này
công việc và cho tất cả các sự kiện kết quả (không chỉ những sự kiện liên quan đến công việc hiện tại).
Bổ sung bạn có thể làm grep env /etc/init/*
để xem cách sử dụng
Đây là đầu ra của tôi:
/etc/init/container-detect.conf:env container
/etc/init/container-detect.conf:env LIBVIRT_LXC_UUID
/etc/init/container-detect.conf: # là để kiểm tra "container" trong môi trường của init.
/etc/init/container-detect.conf: [-d / Proc / vz] && [! -d / Proc / bc] && container = openvz
/etc/init/mounted-debugfs.conf:env MOUNTPOINT = / sys / kernel / gỡ lỗi
/etc/init/mounted-dev.conf:env MOUNTPOINT = / dev
/etc/init/mounted-proc.conf:env MOUNTPOINT = / Proc
/etc/init/mounted-tmp.conf:env MOUNTPOINT = / tmp
/etc/init/munin-node.conf:env DAEMON = / usr / sbin / munin-nút
/etc/init/mysql.conf:env HOME = / etc / mysql
/etc/init/nginx.conf:env DAEMON = / usr / local / nginx / sbin / nginx
/etc/init/nginx.conf:env PID = / usr / local / nginx / log / nginx.pid
/etc/init/procps.conf:env UPSTART_EVENT =
/etc/init/rc.conf:env INIT_VERBOSE
/etc/init/rc-sysinit.conf:env DEFAULT_RUNLEVEL = 2
/etc/init/rc-sysinit.conf:env RUNLEVEL =
/etc/init/rc-sysinit.conf:env PREVLEVEL =
/etc/init/rc-sysinit.conf:env INIT_VERBOSE
/etc/init/wait-for-state.conf:env TIMEOUT = 30
/etc/init/wait-for-state.conf:env MANUAL_OVERRIDE = "N"
/etc/init/wait-for-state.conf:env WAIT_FOREVER = "N"
/etc/init/wait-for-state.conf:env WAIT_STATE = "đã bắt đầu"
/etc/init/wait-for-state.conf:env TARGET_GOAL = "bắt đầu"
Và cho một ví dụ đầy đủ xem một số các kịch bản đó. Đây nginx.conf:
# nginx
mô tả "nginx http daemon"
tác giả "Philipp Klose"
bắt đầu (hệ thống tập tin và thiết bị mạng IFACE = lo)
dừng lại trên runlevel [! 2345]
env DAEMON = / usr / địa phương / nginx / sbin / nginx
env PID = / usr / local / nginx / log / nginx.pid
mong đợi ngã ba
hồi sinh
giới hạn hồi sinh 10 5
# không bao giờ
kịch bản trước khi bắt đầu
$ DAEMON -t
nếu [$? -Một 0]
rồi thoát $?
fi
kịch bản kết thúc
thực hiện $ DAEMON