Tôi đang chạy máy chủ Ubuntu 11.04. Tôi đã tạo một công việc người dùng Upstart như được mô tả ở đây .
Tôi có các tập tin sau tại /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
Khi myuser
tôi có thể bắt đầu, dừng và tải lại công việc tốt - nó hoạt động hoàn hảo:
$ start sensors
sensors start/running, process 1332
$ stop sensors
sensors stop/waiting
Vấn đề là công việc không tự động mysql
bắt đầu khi khởi động . Sau khi khởi động mới, mysql
đang chạy nhưng sensors
công việc của tôi thì không.
Điều kỳ lạ là mặc dù công việc không bắt đầu khởi động, nhưng nếu tôi sử dụng sudo
để khởi động lại mysql
thì nó thực sự bắt đầu công việc của tôi. Các lệnh sau được chạy như myuser
từ một khởi động mới:
$ status sensors
sensors stop/waiting
$ sudo restart mysql
mysql start/running, process 1209
$ status sensors
sensors start/running, process 1229
Các tài liệu cho công việc người dùng Upstart là khá hạn chế. Kỹ thuật chính xác để có một công việc người dùng bắt đầu tự động khi khởi động hệ thống là gì?
Tôi biết tôi chỉ có thể ném thứ gì đó vào rc.local
để khởi động nó, hoặc tôi có thể chuyển sensors.conf
sang /etc/init
nhưng tôi tò mò liệu có cách nào để làm điều đó chỉ bằng Upstart.