Khi bạn nói "Tôi đã tạo một dịch vụ", tôi tự hỏi ý của bạn là "Tôi đã tạo một tập lệnh shell" hay đại loại như vậy. Khi tạo một dịch vụ sẽ liên quan đến việc viết một .dịch vụ
tập tin, đó là 90% thách thức trong việc thực hiện nhiệm vụ.
Vì vậy, vì câu trả lời này, tôi sẽ cho rằng bạn đã tạo một tập lệnh shell có tên truy vấn_db.sh
. Bước tiếp theo sẽ là tạo .dịch vụ
tập tin, sau đó kích hoạt nó.
Đây là cách bạn tạo một dịch vụ:
- Mở Terminal (nếu chưa mở)
- Tạo một tệp mới cho dịch vụ. tôi sẽ gọi cho tôi
query_db.service
:
sudo vi /etc/systemd/system/query_db.service
Ghi chú: Vui lòng sử dụng bất kỳ trình soạn thảo văn bản nào bạn muốn. Việc sử dụng vi
trong ví dụ này không phải là một gợi ý cũng không phải là một sự chứng thực. Nó chỉ là một sức mạnh của thói quen.
- Dán phần sau vào tệp mới, chỉnh sửa các giá trị có liên quan khi thích hợp:
[Đơn vị]
Mô tả=Thực hiện một số truy vấn
[Dịch vụ]
Người dùng=dheeraj
WorkingDirectory=/home/dheeraj/scripts
ExecStart=/home/dheeraj/scripts/query_db.sh
Loại = đơn giản
Thời gian chờStopSec=10
Khởi động lại = khi thất bại
Khởi động lạiSec=5
[Cài đặt]
WantedBy=multi-user.target
Ghi chú: Hãy chắc chắn để thay đổi Người dùng
, Thư mục làm việc
, và ExecStart
giá trị cho một cái gì đó chính xác. Các mục khác có thể không bị ảnh hưởng nếu bạn không chắc chắn về cách định cấu hình chúng.
- Xác minh rằng tệp tập lệnh có thể thực thi được:
Sudo chmod +x /home/dheeraj/scripts/query_db.sh
- Tải lại
hệ thống
daemon:
Sudo systemctl daemon-tải lại
- Kích hoạt daemon của bạn:
Sudo systemctl kích hoạt truy vấn_db
- Bắt đầu daemon của bạn:
Sudo systemctl bắt đầu truy vấn_db
Thats tất cả để có nó. Bây giờ bạn có thể kiểm tra trạng thái dịch vụ của mình bằng:
Sudo systemctl status query_db
Và, tất nhiên, bạn có thể dừng dịch vụ của mình bằng:
Sudo systemctl dừng truy vấn_db
Nếu bạn thích sử dụng các lệnh ngắn hơn, hãy hoán đổi hành động với tên dịch vụ:
sudo dịch vụ query_db trạng thái
dịch vụ sudo query_db dừng
Đó thực sự là tất cả để có nó.