Xer0FyT tarafından verilen cevap muhtemelen PI'de bir programı otomatik olarak başlatmanın en kolay yoludur. Ancak, başlatılan program herhangi bir sebepten ötürü çöktüğünde problemler yaşanır, çünkü herhangi bir süreç izlemesi olmadığı için yeniden başlatılmayacaktır. Ben şahsen bunun yerine daemontools kullanmanızı tavsiye ederim . Kurulumu oldukça kolaydır (ve Raspbian'da bulunur). Temel olarak run
, programınızı başlatan bir kabuk betiği içeren bir servis dizini yaratırsınız. Daemontools daha sonra herhangi bir nedenle çökmesi durumunda programınızın başlatıldığından ve yeniden başlatıldığından emin olacaktır.
Daemontools'u ayarlamak oldukça basittir. Sadece
apt-get install daemontools daemontools-run
Ardından çalıştırılabilir bir çalıştırma komut dosyası içeren servis dizini oluşturun:
# 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
Bir göz atın /service/my-service/run
ve düzenleyin, böylece çalıştırmak yerine kendi programınızı başlatır echo
. Bir kez yapıldıktan sonra, bu dizinin içindeki /etc/service
daemontools dizinini otomatik olarak (yeniden) başlatın:
cd /etc/service
ln -s /service/my-service .
Yaklaşık 5 saniye sonra programınız çalışmalıdır. Kullanarak başlatabilir / durdurabilirsiniz
# stop it
$ svc -d /service/my-service
# start it
$ svc -u /service/my-service
Ayrıca (örneğin) syslog'da oturum açmak da mümkündür. Yani programınızın çıktısı kaybolmaz. Bu konuda daha eksiksiz bir blog yazısı yazdım: https://info-beamer.com/blog/running-info-beamer-in-production
sudo
içinderc.local
kendisi. Önyüklemede kök ayrıcalıkları ile çalıştırılır.&
Programınız hızlı bir şekilde çıktıktan sonra bir şey yapmazsa kullanma ile ilgili bölüme dikkat ettiğinizden emin olun .