/etc/init.d
ได้รับการปรับปรุงบน Ubuntu สำหรับความเข้ากันได้ย้อนหลังกับสิ่ง sysvinit ถ้าคุณดูที่จริง/etc/init.d/rc.local
คุณจะเห็น (เช่นจากเซิร์ฟเวอร์ LTS 12.04):
#! /bin/sh
### BEGIN INIT INFORMATION
# Provides: rc.local
# Required-Start: $remote_fs $syslog $all
# Required-Stop:
# Default-Start: 2 3 4 5
# Default-Stop:
# Short-Description: Run /etc/rc.local if it exist
### END INIT INFO
และ"Run /etc/rc.local"เป็นสิ่งที่มันทำ ความสมบูรณ์ของ/etc/rc.local
คือ:
#!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.
exit 0
ฉันเดาวัตถุประสงค์ในการทำเช่นนี้คือการให้เป็นสถานที่ที่เรียบง่ายที่ตายแล้วที่จะนำคำสั่งเชลล์คุณต้องการทำงานที่บูตโดยไม่ต้องมีการจัดการกับการหยุด | /etc/init.d/rc.local
เริ่มต้นสิ่งที่ให้บริการที่อยู่ใน
ดังนั้นจึงเป็นบริการและสามารถเรียกใช้เช่นนี้ ฉันเพิ่มecho
บรรทัด/etc/rc.local
และ:
»service rc.local start
hello world
อย่างไรก็ตามฉันไม่เชื่อว่ามีการอ้างอิงโดยสิ่งใดใน/etc/init
ไดเรกทอรี (ไม่ init.d!) พุ่งพรวด:
»initctl start rc.local
initctl: Unknown job: rc.local
มีบริการ "rc" อยู่เล็กน้อย
»initctl list | grep rc
rc stop/waiting
rcS stop/waiting
rc-sysinit stop/waiting
แต่ดูเหมือนว่าไม่มีสิ่งใดที่เกี่ยวข้องกับ rc.local