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 myusertô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 mysqlbắt đầu khi khởi động . Sau khi khởi động mới, mysqlđang chạy nhưng sensorscô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 mysqlthì nó thực sự bắt đầu công việc của tôi. Các lệnh sau được chạy như myusertừ 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.confsang /etc/initnhưng tôi tò mò liệu có cách nào để làm điều đó chỉ bằng Upstart.