ohyourgod
Senior Member
Nên xem log (verbose) của udpxy xem vấn đề dừng là gì, script trên cứ định kỳ sẽ kill process rồi bật lại, thực sự ko phải giải pháp hay.Mình từ hôm cài thấy thỉnh thoảng tivi xem không được nên đang làm như này thấy ổn định (hỏi con gpt), không biết các bác có cách nào đơn giản hơn không.
1. Tạo 1 script có tên là restart_udpxy.sh:
Bash:pid=$(ps aux | grep '[u]dpxy -p 6000' | awk '{print $2}') if [ -n "$pid" ]; then echo "Stopping udpxy with PID $pid" kill "$pid" sleep 2 # Đợi một chút để đảm bảo chương trình đã dừng fi # Khởi động lại udpxy và lưu PID của tiến trình mới echo "Starting udpxy -p 6000" udpxy -p 6000 & # Kiểm tra nếu udpxy đã khởi động thành công if [ $? -eq 0 ]; then echo "udpxy started successfully." else echo "Failed to start udpxy." fi
2. Lập lịch cho nó chạy mỗi giờ 1 lần
Bash:crontab -e #Nhập đoạn sau 0 * * * * ~/udpxy/restart_udpxy.sh #Save và out
Nếu dừng là do hết slot thì thêm giới hạn kết nối là được.
Sau đó chỉ cần thêm trực tiếp lệnh udpxy vào crontab như #1 thôi.
Nếu tỷ mỉ muốn đảm bảo chương trình luôn chạy tốt, quản lí các vấn đề phát sinh thì dùng systemd, nhưng thấy cồng kềnh ko cần thiết.