Cài đặt chương trình chạy on boot trên Ubuntu

0
128
views

Cài đặt chương trình chạy on boot trên Ubuntu

Khi các bạn viết một chương trình trên Linux, một shell script chẳng hạn, bạn sẽ chạy nó trên một cửa sổ terminal. Vấn đề là khi bạn đóng cửa sổ đó lại thì chương trình cũng đóng theo. Vì thế hôm nay mình xin hướng dẫn các bạn cách tạo service ngầm để chương trình trên Debian/Ubuntu có thể chạy ngay lúc khởi động.

Tạo file service

Giả sử ta có một chương trình hay một đoạn script tên là test, tạo một file trong thư mục /etc/init.d/, đó là thư mục mà OS sẽ tìm kiếm các service để triệu gọi lúc nó khởi động.

# touch /etc/init.d/test
# chmod 755 /etc/init.d/test
# vi /etc/init.d/test

Nhớ đăng nhập bằng tài khoản root, sau đó điền nội dung file test như sau :

#! /bin/bash
# /etc/init.d/test

# The following part always gets executed.
echo "This part always gets executed"

# The following part carries out specific functions depending on arguments.
case "$1" in
start)
   echo "Starting test"
   echo "test is alive"
       ;;
stop)
   echo "Stopping test"
   echo "test is dead"
       ;;
*)
   echo "Usage: /etc/init.d/test {start|stop}"
   exit 1
       ;;
esac

exit 0

#! /bin/bash là thành phần bắt buộc để OS nhận diện đây là một shell script, $1 là tham số đầu tiên mà bạn truyền vào trên cửa sổ dòng lệnh. Ví dụ nếu bạn gõ trên cửa sổ terminal như sau :

$ service test arg1 arg2 arg3

thì $1 nhận giá trị là arg1 và $2 nhận giá trị là arg2 và cứ thế.

Đăng ký service với OS

update hệ thống để OS có thể nhận nó là một service

# cd /etc/init.d
# update-rc.d test defaults

Test service

Từ lúc này trở đi có thể chạy chương trình test bằng hai cách

# /etc/init.d/test start // hoặc stop
//hoặc
# service test start // hoặc stop

Chú ý : các đường dẫn trong tất cả các đoạn script để là tuyệt đối. Nên thử reboot xem đoạn script có chạy không và debug.

BÌNH LUẬN

Please enter your comment!
Please enter your name here