Saya menjalankan server Ubuntu 11.04. Saya telah membuat pekerjaan pengguna pemula seperti dijelaskan di sini .
Saya memiliki file berikut di /home/myuser/.init/sensors.conf
:
start on started mysql
stop on stopping mysql
chdir /home/myuser/mydir/project
exec /home/myuser/mydir/env/bin/python /home/myuser/mydir/project/manage.py sensors
respawn
respawn limit 10 90
Karena myuser
saya dapat memulai, berhenti, dan memuat kembali pekerjaan dengan baik - itu berfungsi dengan baik:
$ start sensors
sensors start/running, process 1332
$ stop sensors
sensors stop/waiting
Masalahnya adalah bahwa pekerjaan tidak dimulai secara otomatis saat boot ketika mysql
dimulai. Setelah boot baru, mysql
berjalan tetapi sensors
pekerjaan saya tidak.
Apa yang aneh, adalah bahwa meskipun pekerjaan tidak dimulai saat boot, jika saya gunakan sudo
untuk me mysql
- restart itu memang memulai pekerjaan saya. Perintah-perintah berikut dijalankan sejak myuser
dari startup baru:
$ status sensors
sensors stop/waiting
$ sudo restart mysql
mysql start/running, process 1209
$ status sensors
sensors start/running, process 1229
Dokumentasi untuk pekerjaan pengguna pemula cukup terbatas. Apa teknik yang benar untuk membuat pekerjaan pengguna dimulai secara otomatis saat startup sistem?
Saya tahu saya bisa melempar sesuatu rc.local
untuk memulainya, atau saya bisa memindahkannya sensors.conf
ke /etc/init
tetapi saya ingin tahu apakah ada cara untuk melakukannya hanya dengan menggunakan pemula.
Melihat sumber seperti
/etc/init/mysql.conf
dan http://upstart.ubuntu.com/cookbook/#start-on menurut saya Anda harus mengubahstart on
baris Anda menjadi seperti ini:Saya tidak yakin saya setuju bahwa pemula tidak memiliki dokumentasi, tapi saya kadang-kadang kesulitan memahami dokumen. Saya biasanya hanya melakukan trial and error sampai berfungsi. Solusi di atas mungkin berlebihan sebenarnya ... sesuatu sesederhana ini mungkin cukup:
sumber
start on
baris saya , tapi itu hanya fakta bahwa pemula hanya memuat / etc / init pada startup, tetapi bukan file init pengguna di file$HOME/.init
/etc/init
. Anda benar bahwa dokumentasi tampaknya kurang untuk itu dan saya tidak yakin bagaimana memastikan~/.init
skrip dimulai.$HOME/.init
pekerjaan tidak diaktifkan secara default dan beberapa perubahan/etc/dbus-1/system.d/Upstart.conf
mungkin diperlukan. upstart.ubuntu.com/cookbook/#run-a-job-as-a-different-user