Jawaban oleh Xer0FyT mungkin adalah cara paling sederhana untuk secara otomatis memulai program pada PI. Tetapi masalah terjadi begitu program yang dijalankan macet karena alasan apa pun karena tidak dapat dimulai ulang, karena tidak ada proses pemantauan. Saya pribadi akan merekomendasikan menggunakan daemontools sebagai gantinya. Pengaturannya cukup sederhana (dan termasuk dalam Raspbian). Pada dasarnya Anda membuat direktori layanan yang berisi run
skrip shell yang memulai program Anda. daemontools kemudian akan memastikan bahwa program Anda dimulai dan dimulai kembali jika crash karena alasan apa pun.
Pengaturan daemontools cukup sederhana. Hanya
apt-get install daemontools daemontools-run
Kemudian buat direktori layanan Anda yang berisi skrip run yang dapat dieksekusi:
# create the service directory
mkdir -p /service/my-service
# create the run script
cat > /service/my-service/run <<EOF
#!/bin/sh
echo "I'm an example service executed by daemontools"
sleep 1
# Replace those 2 lines with a real call to your program like this:
# exec /my/program.py --arguments
EOF
# make it executable
chmod 755 /service/my-service/run
Lihat /service/my-service/run
dan edit, jadi ini memulai program Anda sendiri dan bukan berjalan echo
. Setelah selesai, symlink direktori tersebut ke /etc/service
daemontools secara otomatis (kembali) memulainya:
cd /etc/service
ln -s /service/my-service .
Setelah sekitar 5 detik, program Anda akan berjalan. Anda dapat memulai / menghentikannya menggunakan
# stop it
$ svc -d /service/my-service
# start it
$ svc -u /service/my-service
Anda juga dapat masuk ke (misalnya) syslog. Jadi output dari program Anda tidak hilang. Saya menulis posting blog yang lebih lengkap tentang ini di sini: https://info-beamer.com/blog/running-info-beamer-in-production
sudo
denganrc.local
sendirinya. Ini dijalankan dengan hak akses root saat boot. Pastikan untuk memperhatikan bagian tentang menggunakan&
kecuali jika program Anda hanya melakukan sesuatu dengan cepat kemudian keluar.