init.d bagaimana memulai layanan di init.d ketika jaringan berfungsi penuh?

1

Saya memiliki skrip python yang memperlihatkan layanan RESTful (menggunakan framework flask). Apa yang ingin saya lakukan dengan layanan ini adalah mengkloning versi terbaru dari skrip python, dan kemudian mulai main.py.

Jelas bagi saya bahwa itu mungkin dimulai pada level 3 init, bagaimana pun saya tidak yakin bagaimana sebenarnya info init harus dikonfigurasi dan juga saya tidak yakin apakah boleh untuk memperbarui crontab dengan

sudo update-rc.d myservice enable 3

Apa yang sebenarnya ada dalam skrip layanan saya adalah seperti:

#!/bin/sh
rm -fR /home/pi/myservicedir
git clone https://repo/code.git /home/pi/myservicedir
cd /home/pi/myservicedir
python main.py
ThomasMX
sumber

Jawaban:

0

Skrip Anda bukan init.dskrip yang tepat . Mungkin ada file templat /etc/init.dyang dapat Anda gunakan untuk membuat skrip mulai. Jika tidak, lihat beberapa skrip lain /etc/init.duntuk menemukan pola yang digunakan oleh distribusi Anda.

Atau, rc.localbiasanya berjalan sangat terlambat dalam siklus boot. Ini akan menjadi tempat yang tepat untuk meletakkan kode startup Anda. Periksa nilai $1yaitu startsebelum menjalankan kode Anda.

Server dimulai dalam urutan yang tercantum di /etc/rc3.d. Mulai skrip kill Kdijalankan terlebih dahulu dalam urutan leksikal, kemudian skrip start mulai Sdijalankan dalam urutan leksikal. Jika Anda ingin memastikan semuanya berjalan menggunakan urutan mulai 99.

Distribusi Anda harus memiliki metode untuk menginstal dan menghapus tautan di rc#.ddirektori. Dalam kasus Anda tampaknya update-rc.d. Ini biasanya dikendalikan oleh baris komentar di bagian atas init.dskrip.

Seharusnya ada manhalaman yang menjelaskan program dan file yang Anda butuhkan. Coba jalankan man update-rc.ddan man -k init.

BillThor
sumber