Tôi có một lệnh duy nhất trong /etc/rc.local
tập lệnh của mình được cho là bắt đầu cập nhật trình nền cho Tiny Tiny RSS khi khởi động, nhưng tập lệnh không được thực thi trong khi khởi động. Tại sao?
Toàn bộ tập tin /etc/rc.local:
#!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.
/sbin/start-stop-daemon -b -c www-data:www-data -S -x /usr/bin/php /var/www/ttrss/update_daemon2.php -- -quiet
exit 0
/etc/rc.local
được thực thi:
# ls -l /etc/rc.local
-rwxr-xr-x 1 root root 342 May 25 16:14 /etc/rc.local
/etc/init.d/rc.local
tồn tại và được thực thi:
# ls -l /etc/init.d/rc.local
-rwxr-xr-x 1 root root 801 Jul 27 2012 /etc/init.d/rc.local
/etc/init.d/rc.local
được cho là được thực thi khi khởi động cho runlevel này:
# runlevel
N 2
# ls -l /etc/rc2.d/S99rc.local
lrwxrwxrwx 1 root root 18 Sep 22 2012 /etc/rc2.d/S99rc.local -> ../init.d/rc.local
Nếu tôi gọi /etc/rc.local theo cách thủ công từ dòng lệnh thì update_daemon sẽ tải ...
# /etc/rc.local
# ps ax | grep update_daemon2.php
2233 ? S 0:00 /usr/bin/php /media/sda5/www/news/update_daemon2.php -quiet
2234 ? S 0:00 /usr/bin/php /media/sda5/www/news/update_daemon2.php -quiet
... mà tôi phải nhớ mỗi lần máy chủ khởi động lại cho đến khi vấn đề này được khắc phục.
Các câu hỏi tương tự đã tồn tại, nhưng cho đến nay tôi không thể áp dụng thông tin trong vấn đề cụ thể của mình.
Tại sao lệnh trong RC.local không được thực thi trong khi khởi động?
requiretty
thiết lập. Khi bạn đã đăng nhập, bạn đang thực thi tập lệnh trong TTY nhưng trong quá trình khởi động hệ thống, nó không ở trong TTY. Liên kết này có thể hỗ trợ bạn shell-tips.com/2014/09/08/ Cảm ơn.