นี่คือข้อความที่ตัดตอนมาจากhttp://www.debian-administrator.org/articles/28ซึ่งดูเหมือนจะตอบคำถามของคุณ
หมายเหตุ: ในตัวอย่างสคริปต์ด้านล่างเพียงเพิ่มการเรียกไปยังส่วน " start)
" เพื่อเปิดใช้โปรแกรมของคุณจริง คุณสามารถทดสอบการทำงานของสคริปต์โดยไม่ต้องรีบูตระบบ: เรียกใช้ด้วยพา ธ เต็มและกำหนดพารามิเตอร์เป็น " start
" หรือ " stop
"
ไปที่นี่:
Debian ใช้ Sys-V เช่นระบบ init สำหรับการดำเนินการคำสั่งเมื่อระบบมีการเปลี่ยนแปลงระดับ - ตัวอย่างเช่นตอนบูทเครื่องและเวลาปิดเครื่อง
/etc/init.d/
หากคุณต้องการที่จะเพิ่มบริการใหม่ที่จะเริ่มต้นเมื่อบูทเครื่องที่คุณควรเพิ่มสคริปต์ที่จำเป็นไปยังไดเรกทอรี สคริปต์จำนวนมากที่มีอยู่แล้วในไดเรกทอรีนั้นจะให้ตัวอย่างของสิ่งที่คุณสามารถทำได้
ต่อไปนี้เป็นสคริปต์ที่ง่ายมากซึ่งแบ่งออกเป็นสองส่วนคือรหัสที่มักจะเรียกใช้และรหัสที่ทำงานเมื่อเรียกด้วย "เริ่มต้น" หรือ "หยุด"
#! /bin/sh
# /etc/init.d/blah
#
# Some things that run always
touch /var/lock/blah
# Carry out specific functions when asked to by the system
case "$1" in
start)
echo "Starting script blah "
echo "Could do more here"
;;
stop)
echo "Stopping script blah"
echo "Could do more here"
;;
*)
echo "Usage: /etc/init.d/blah {start|stop}"
exit 1
;;
esac
exit 0
เมื่อคุณบันทึกไฟล์ไว้ในตำแหน่งที่ถูกต้องตรวจสอบให้แน่ใจว่าสามารถเรียกใช้ไฟล์ได้โดยเรียกใช้ " chmod 755 /etc/init.d/blah
"
จากนั้นคุณต้องเพิ่มลิงก์สัญลักษณ์ที่เหมาะสมเพื่อให้สคริปต์ทำงานเมื่อระบบหยุดทำงานหรือเกิดขึ้น
วิธีที่ง่ายที่สุดในการทำเช่นนี้คือใช้คำสั่ง Debian เฉพาะupdate-rc.d
:
root@skx:~# update-rc.d blah defaults
Adding system startup for /etc/init.d/blah ...
/etc/rc0.d/K20blah -> ../init.d/blah
/etc/rc1.d/K20blah -> ../init.d/blah
/etc/rc6.d/K20blah -> ../init.d/blah
/etc/rc2.d/S20blah -> ../init.d/blah
/etc/rc3.d/S20blah -> ../init.d/blah
/etc/rc4.d/S20blah -> ../init.d/blah
/etc/rc5.d/S20blah -> ../init.d/blah
start-stop-daemon
จัดการได้ดีกว่า คุณใช้ distro อะไร นอกประเภท MIME บนเดสก์ท็อปนามสกุลไฟล์นั้นไม่มีความหมายใน * nix และเป็นที่ต้องการที่ไฟล์ปฏิบัติการไม่มี