Jawaban:
Pada Debian, skrip boot servis dan aplikasi dan shutdown harus ditempatkan /etc/init.d/
.
Debian memberikan contoh skrip /etc/init.d/skeleton
yang dapat Anda modifikasi sesuai selera untuk aplikasi khusus Anda.
Setelah itu di tempat, hubungi:
# update-rc.d YOURAPP defaults
Agar Debian menambahkan /etc/rc?.d/
symlink untuk Anda.
Jika Anda lebih suka menu atau antarmuka grafis, lihat paket sysv-rc-conf
atau ksysv
.
Anda dapat memanggil skrip Anda dari /etc/rc.local , sebelum baris yang mengatakan keluar 0
Sedangkan untuk mematikan aplikasi Anda, saya sarankan meletakkan skrip di /etc/rc0.d . Anda perlu memberi nama dengan huruf besar K , dan kemudian angka 2 digit yang menentukan urutan skrip ini dijalankan, dan kemudian sebuah nama. Ini akan dipanggil dengan parameter "berhenti", tetapi Anda dapat mengabaikan ini untuk skrip berhenti sederhana.
Untuk startup lihat ini .
Untuk mematikan, buat tautan / salin skrip Anda ke salah satu folder /etc/rcX.d di mana X adalah runlevel yang ingin Anda jalankan. 0 adalah runlevel shutdown untuk Debian yang saya percaya.
Cara termudah adalah memodifikasi skrip yang ada, berfungsi di sistem saya, digunakan untuk suara :)
/etc/init.d/rc.local
, tambahkan sh Anda di akhir file, sebelum: (itu akan mengeksekusi tepat sebelum masuk "layar")/etc/init.d/halt
, tambahkan sh Anda di awal file, tepat setelah komentar awal (itu akan dieksekusi sebelum perintah shutdown aktual, yang dipanggil oleh file skrip ini/etc/init.d/reboot
Sejak Debian Jessie, init
program lama telah diganti oleh systemd
!
Lihat sendiri. Jalankan: ls -l /sbin/init
dan lihat apa maksudnya. Hari ini menunjuk ke systemd
( /sbin/init -> /lib/systemd/systemd
), program inisialisasi yang lebih baru dan lebih baik.
JADI PILIHAN DAN JAWABAN LAINNYA DI SINI SEKARANG !!!
* Meskipun Anda masih dapat menginstal skrip dengan cara lama dengan alat System-V, itu bukan ide yang baik secara umum.
man systemd.service
mengatakan: *
Jika suatu layanan diminta dengan nama tertentu tetapi tidak ada file konfigurasi unit yang ditemukan, systemd mencari skrip init SysV dengan nama yang sama ... dan secara dinamis membuat unit layanan dari skrip itu. Ini berguna untuk kompatibilitas dengan SysV. Perhatikan bahwa kompatibilitas ini cukup komprehensif tetapi tidak 100%.
Lebih mudah dari yang Anda pikirkan. (-:
Inilah metode baru dan pilihan untuk menginstal program boot-up atau shutdown.
Dengan systemd
Anda pertama kali ingin membuat file unit . File unit sebagian besar deklarasi, bukan kode.
Kemudian Anda akan menggunakan systemctl
perintah untuk mengaktifkan atau memulai unit itu.
systemd
melakukan banyak pekerjaan untuk Anda, membuatnya mudah, misalnya, untuk memiliki program penting secara otomatis memulai kembali jika crash atau terbunuh. Juga mematikan program Anda di mana dan kapan seharusnya secara default tanpa kerja ekstra di pihak Anda.
Mulai pelajari di systemd
sini:
Dari Debian dan di tempat lain dan lain - lain .
Halaman manual untuk memulai dengan:
man systemd.unit
- Tentang file unit secara umum
man systemd.service
- Tentang file unit layanan, mis. Daemon, dan program yang dijalankan tunggal.
man systemctl
- Antarmuka pengguna baris perintah
man journalctl
- Lihat log apa yang telah dilakukan systemd
man systemd
- Tentang program init itu sendiri
Ada juga berbagai jenis file unit lainnya, misalnya
man systemd.target
- untuk grup dan target yang disinkronkan secara umum.
Setelah Anda mencerna dasar-dasar di atas, kemudian gali dengan man -k systemd
untuk menemukan halaman manual terkait lainnya.
Apa pun yang Anda lakukan, di Debian jangan gunakan salah satu dari ini :
update-rc.d
- Instal dan hapus tautan skrip init gaya Sistem-Vsysv-rc-conf
- Konfigurasi run-level untuk SysV seperti tautan skrip initrunlevel
- Cetak runlevel SysV sebelumnya dan saat iniBUM
- B oot U p M anager - editor runlevel grafissystemadm
- Frontend grafis untuk systemd system dan service manager File unit ini memulai daemon NoIP.com saat saya boot-up, dan mematikannya saat saya dimatikan.
Daemon ini, dari waktu ke waktu, mengirimkan alamat IP saya saat ini untuk memperbarui saya DDNS ( D inamis DNS ( D omain N ama S erver)) data base penyedia, sehingga menjaga nama domain saya menunjuk pada komputer saya di mana pun perjalanan ke.
File unit ini terletak di sistem saya di file pengaturan ini: /etc/systemd/system/noip2.service
Inilah yang ada di file unit:
# Comments can only go at the beginning of the line!
[Unit]
Description=Start the NoIP IP update daemon. This runs every 30 minutes and reports our current IP to NoIP.com to update Love2d.ddns.net.
Documentation=https://no-ip.com/
Documentation=file:///nobak/Installers/NoIP/noip-2.1.9-1/README.FIRST
[Service]
# 'forking' because process returns after starting daemon (traditional unix daemon).
Type=forking
# This program runs and returns, leaving the running daemon
ExecStart=/usr/local/bin/noip2
# Be in no hurry to start this. Max nice is +19.
Nice=15
# If it dies for any reason, then restart it
Restart=always
[Install]
# Installs a hook to use this unit file when the system boots or shuts down
WantedBy=multi-user.target
Jalankan file unit secara manual , (misalnya untuk pengujian):
$ sudo systemctl start noip2
. $ sudo systemctl restart noip2
. $ sudo systemctl stop noip2
. Konfigurasikan sistem untuk secara otomatis menjalankan file unit saat memulai atau mematikan:
$ sudo systemctl enable noip2
. $ sudo systemctl disable noip2
.Melihat log
$ sudo journalctl -u noip2