انجمن‌های فارسی اوبونتو

کمک و پشتیبانی => برنامه‌سازی => نویسنده: farid.t در 22 بهمن 1395، 12:32 ب‌ظ

عنوان: اجرای سرویس یا اسکریپت دیگر توسط اسکریپت‌های init.d
ارسال شده توسط: farid.t در 22 بهمن 1395، 12:32 ب‌ظ
با سلام.
برای ایجاد اسکریپت‌های init.d و قرار گرفتن این اسکریپت‌ها در زمان بوت سیستم، یک سری قوانین باید رعایت شود. یکی از این قوانین قرار دادن کدهایی در ابتدای اسکریپت است.
### BEGIN INIT INFO
# Provides:          scriptname
# Required-Start:    $remote_fs $syslog
# Required-Stop:     $remote_fs $syslog
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: Start daemon at boot time
# Description:       Enable service provided by daemon.
### END INIT INFO
مقادیر
# Required-Start:   
# Required-Stop:     
برای ایجاد اولویت اجرا یا توقف اسکریپت ما، در runlevelها می‌باشد.
آیا می‌توان توسط این کدها اسکریپت دیگری را، قبل از اجرای اسکریپت مورد نظر به اجبار اجرا کرد؟
برای مثال
cat /etc/init.d/test01
### BEGIN INIT INFO
# Provides:          test01
# Required-Start:   
# Required-Stop:     
# Default-Start:     2 3 4 5
# Default-Stop:     
# Short-Description: test01
# Description:       echo test01
### END INIT INFO
echo "test01" >> /home/farid/init-test
cat /etc/init.d/test02
### BEGIN INIT INFO
# Provides:          test02
# Required-Start:    test01
# Required-Stop:     
# Default-Start:     2 3 4 5
# Default-Stop:     
# Short-Description: test02
# Description:       echo test02.
### END INIT INFO
echo "test02" >> /home/farid/init-test
گویا سیستم init زمان راه اندازی سیستم، اسکریپت test01 را به دلیل در اولویت قرار داشتن نسبت به test02،  قبل از اجرای test02، راه اندازی می‌کند. سوال اینجاست که آیا می‌شود با راه اندازی مجدد اسکریپت test02 اسکریپت test01 را راه اندازی کرد؟
همچنین اضافه کردن مقدار
# Should-Start:      test01به مجموعه کد test02 هم چاره ساز نبود.
سپاس