Hướng dẫn chạy Python Script trong nền

  • Sunday 03/09/2023

Hướng dẫn chạy Python Script trong nền

Để run python chạy trong nền chúng ta có thể chạy theo các cách sau:

Chạy python trong nền bằng nohup

Lệnh “nohup” là một trong những lệnh thông dụng trên hệ điều hành Linux và Unix, được sử dụng để chạy một tiến trình (process) mà không bị ảnh hưởng bởi việc đóng terminal hoặc kết thúc phiên làm việc. Khi sử dụng lệnh “nohup”, tiến trình được chạy trong nền (background) và sẽ tiếp tục hoạt động ngay cả khi phiên làm việc của bạn đã kết thúc.

Quý Khách có thể tham khảo hướng dẫn SSH tới VPS/Server tại link: https://kb.pavietnam.vn/ssh-toi-server-linux-bang-putty.html

Tiến hahf add shebang  vào tập lệnh python:

#!/usr/bin/env python3

python

Phân quyền cho file vừa add:

chmod +x mạin.py

Khởi động python chạy trong nền bằng lệnh:

nohup python3 main.py &

Hoặc add thêm lệnh sau để ghi logs:

nohup python3 main.py > output.log &

Để kiểm tra xem service để chạy chưa và stop tiến trình này thì có thể làm như sau:

Chạy lệnh sau để kiểm tra tiến trình:

ps -fA | grep python3

Dùng lệnh sau để stop tiến trình:

kill PID

Screenshot 6

Chạy python trong nền bằng Systemd

Tạo file systemd và thêm và chỉnh sửa lại các file/folder phù hợp:

vi /lib/systemd/system/myservice.service

  • Chạy trực tiếp:

[Unit]
Description=My Lovely Service
After=network.target

[Service]
Type=idle
Restart=on-failure
User=root
ExecStart=/usr/bin/python /path-to-your-python-project/python_file.py

[Install]
WantedBy=multi-user.target

  • Chạy thông qua thư mục

[Unit]
Description=My Lovely Service
After=network.target

[Service]
Type=idle
Restart=on-failure
User=root
ExecStart=/bin/bash -c 'cd /home/ubuntu/project/ && python app.py'

[Install]
WantedBy=multi-user.target

  • Chạy thông qua môi trường:

[Unit]
Description=My Lovely Service
After=network.target

[Service]
Type=idle
Restart=on-failure
User=root
ExecStart=/bin/bash -c 'cd /home/ubuntu/project/ && source env/bin/activate && python app.py'

[Install]
WantedBy=multi-user.target

Lưu ý: Chỉnh sửa ExecStart thành các đường dẫn chứa source của website

Phân Quyền và khởi động service:

chmod 644 /lib/systemd/system/myservice.service

sudo systemctl daemon-reload
sudo systemctl enable myservice.service
sudo systemctl start myservice.service

Screenshot from 2023 08 31 20 16 10

========================================

P.A Việt Nam cung cấp đa dạng các cấu hình Máy Chủ Ảo và Máy Chủ Riêng
Cloud Server
Cloud Server Pro
Máy Chủ Riêng

Tham khảo các ưu đãi: https://www.pavietnam.vn/vn/tin-khuyen-mai/ 

5/5 - (1 bình chọn)