Anda dapat membuka /etc/init.d/ - Anda akan melihat templat daemon bernama kerangka.
Anda dapat menduplikatnya lalu memasukkan skrip Anda di bawah fungsi mulai.
Daemon hanyalah program yang berjalan sebagai proses latar belakang, bukan berada di bawah kendali langsung pengguna interaktif...
[Kode bash di bawah ini untuk sistem Debian - Ubuntu, distro Linux Mint, dan sebagainya]
Cara sederhana:
Cara sederhananya adalah dengan mengedit file /etc/rc.local Anda dan kemudian jalankan skrip Anda dari sana (yaitu setiap kali Anda mem-boot sistem):
sudo nano /etc/rc.local
Tambahkan berikut ini dan simpan:
#For a BASH script
/bin/sh TheNameOfYourScript.sh > /dev/null &
Cara yang lebih baik untuk melakukannya adalah dengan membuat Daemon melalui Pemula:
sudo nano /etc/init/TheNameOfYourDaemon.conf
tambahkan berikut ini:
description "My Daemon Job"
author "Your Name"
start on runlevel [2345]
pre-start script
echo "[`date`] My Daemon Starting" >> /var/log/TheNameOfYourDaemonJobLog.log
end script
exec /bin/sh TheNameOfYourScript.sh > /dev/null &
Simpan ini.
Konfirmasikan bahwa tampilannya oke:
init-checkconf /etc/init/TheNameOfYourDaemon.conf
Sekarang reboot mesin:
sudo reboot
Sekarang ketika Anda mem-boot sistem Anda, Anda dapat melihat file log yang menyatakan bahwa Daemon Anda sedang berjalan:
cat /var/log/TheNameOfYourDaemonJobLog.log
• Sekarang Anda dapat memulai/menghentikan/memulai ulang/mendapatkan status Daemon Anda melalui:
mulai ulang:ini akan berhenti, lalu memulai layanan
sudo service TheNameOfYourDaemonrestart restart
mulai:ini akan memulai layanan, jika tidak berjalan
sudo service TheNameOfYourDaemonstart start
stop:ini akan menghentikan layanan, jika sedang berjalan
sudo service TheNameOfYourDaemonstop stop
status:ini akan menampilkan status layanan
sudo service TheNameOfYourDaemonstatus status
Untuk menjalankannya sebagai daemon lengkap dari shell, Anda harus menggunakan setsid
dan mengarahkan outputnya. Anda dapat mengalihkan keluaran ke file log, atau ke /dev/null
untuk membuangnya. Dengan asumsi skrip Anda bernama myscript.sh, gunakan perintah berikut:
setsid myscript.sh >/dev/null 2>&1 < /dev/null &
Ini akan sepenuhnya melepaskan proses dari shell Anda saat ini (stdin, stdout dan stderr). Jika Anda ingin menyimpan keluaran dalam file log, ganti /dev/null
pertama dengan /path/to/logfile Anda.
Anda harus mengarahkan ulang output, jika tidak, output tidak akan berjalan sebagai daemon yang sebenarnya (itu akan bergantung pada shell Anda untuk membaca dan menulis output).