Câu hỏi Làm thế nào để chạy một ứng dụng khởi động tự động?


Tôi đang sử dụng "UbuntuServer13.10" và tôi có IP động. Vì vậy, với mục đích học tập, tôi muốn thêm một máy chủ trên IP động của mình để mở máy chủ của mình dễ dàng từ mọi nơi. Vì mục đích này, tôi đã sử dụng www.noip.com kịch bản. Mọi thứ đều hoạt động tốt và việc thay đổi IP động của tôi thành máy chủ tự động bất cứ khi nào IP động của tôi thay đổi. Bây giờ vấn đề là vì mục đích này, tôi phải khởi động ứng dụng "No-IP" trên mỗi lần khởi động bằng tay mà tôi không muốn. tôi đang dùng /usr/local/bin/noip2 trong terminal để bắt đầu thủ công sau khi khởi động máy chủ. Câu hỏi chính của tôi là Làm thế nào để khởi động ứng dụng này trên máy chủ khởi động / khởi động tự động? Đang chờ giải pháp hoàn hảo và dễ dàng ...

Tôi có kịch bản dưới đây được cung cấp bởi bộ phận hỗ trợ "No-IP". Đây có phải là ok và nơi để thêm này ...

####################################################### 
#! /bin/sh 
# . /etc/rc.d/init.d/functions  # uncomment/modify for your killproc 
case "$1" in 
start) 
echo "Starting noip2." 
/usr/local/bin/noip2 
;; 
stop) 
echo -n "Shutting down noip2." 
killproc -TERM /usr/local/bin/noip2 
;; 
*) 
echo "Usage: $0 {start|stop}" 
exit 1 
esac 
exit 0 
####################################################### 

4
2018-04-02 06:55


gốc




Các câu trả lời:


Bạn nên thêm tập lệnh của mình vào các giá trị mặc định runlevel:

sudo touch /etc/init.d/noip2
sudo chmod 755 /etc/init.d/noip2
sudo update-rc.d noip2 defaults

Sau đó, thêm vào /etc/init.d/noip2

####################################################### 
#! /bin/sh 
# . /etc/rc.d/init.d/functions  # uncomment/modify for your killproc 
case "$1" in 
start) 
echo "Starting noip2." 
/usr/local/bin/noip2 
;; 
stop) 
echo -n "Shutting down noip2." 
killproc -TERM /usr/local/bin/noip2 
;; 
*) 
echo "Usage: $0 {start|stop}" 
exit 1 
esac 
exit 0 
####################################################### 

Sau đó khởi động lại và tập lệnh của bạn sẽ chạy.


4
2018-04-02 06:59



Tôi đã thử mã của bạn và nó chạy khi tôi đăng nhập vào người dùng của tôi và máy chủ của tôi được cập nhật tự động mà không cần khởi động thủ công. Nhưng Tôi muốn chạy "No-IP" này khi khởi động / bắt đầu không sau khi đăng nhập vào tài khoản người dùng của mình. Làm thế nào để làm cho nó chạy tự động mà không cần đăng nhập bất kỳ tài khoản? - Muhammad Hassan
Xem câu trả lời được cập nhật - Danatela
Xem câu hỏi được cập nhật của tôi. Đây có phải là tập lệnh mà tôi phải thêm vào không rc.local thay vì cái trên mà bạn đã cung cấp. Nếu có, sau khi cập nhật tập lệnh mới do hỗ trợ "Không có IP" cung cấp, tôi có nên thêm tập lệnh này vào các giá trị mặc định runlevel như bạn đã đề cập ở trên không? - Muhammad Hassan
Xem câu trả lời được cập nhật. - Danatela
Tôi đã làm tất cả như bạn nói nhưng vẫn không nhận được các ứng dụng khi khởi động / khởi động. :( - Muhammad Hassan


Có liên kết System-V trong linux cho phép thực thi script ở mức khởi động khác nhau.

Làm theo các bước dưới đây:

  1. tạo một kịch bản lệnh shell (thực thi ứng dụng của bạn) ví dụ.

    Tên khởi đầu

    #!/bin/bash
    /bin/bash xxx.sh
    
  2. để nó ở đây khởi đầu đến /etc/init.d/ danh mục

  3. bây giờ chúng ta cần phải đặt kịch bản này để bắt đầu lên cấp
  4. Chạy lệnh update-rc.d start bây giờ khởi động lại PC của bạn.

hy vọng sẽ giúp bạn.


0
2018-04-02 07:37