Script là gì và cách sử dụng script để tăng tốc độ thao tác trên mt4Điểm khác nhau giữa ngôn ngữ lập trình và ngôn ngữ script là gìĐoạn Script ngăn chặn Save Images as và coppy nội dung web Script là gìMột số đoạn script tiện ích hay dùng Script là gì
Contents
Script là gì và cách sử dụng script để tăng tốc độ thao tác trên mt4
1. Script là gì?
Script là gì? Thực tế đây là một chương trình được viết dựa trên ngôn ngữ lập trình MQL4 và mục đích của nó là giúp trader thực hiện một nhiệm vụ độc lập nào đó. Có thể hiểu script giống như một phím tắt giúp trader đơn giản hóa các thao tác phức tạp. Khác với expert advisor, script yêu cầu trader phải nhập 1 lệnh trước đó để script được thực hiện. Script là cách giúp trader tiệm cận đến phương pháp trade semi-automated (trade bán tự động).
Đang xem: Script là gì
Bài viết này mục đích sẽ tập trung các đoạn script nhỏ ngắn. Mỗi script tôi sẽ đề cập đến tình huống sử dụng nó. Nếu bạn nào thấy có thể làm tốt hơn, tối ưu hơn, hoặc chỉ cần một cách khác hơn thì hãy để lại comment. Những comment của bạn rất giá trị với tôi. Bài viết này sẽ được update dài dài. Bạn nào thích có thể bổ sung thêm các script nữa nhé
1. Tắt hàng loạt process theo pid
Tình huống:
Tại sao tôi không dùng killall ? Vì một số ứng dụng tạo ra nhiều process có tên khác nhau ví dụ mysql chẳng hạn. Khi start mysql service thường nó duy trì hai process mysqld_safe và mysqld và một còn một lý do là đôi khi process bị treo, signal SIGTERM không thể tắt được process. Trong tình huống đó tôi phải dùng SIGKILL. Tuy không phải giải pháp tốt nhưng đôi khi vẫn phải dùng. Killall mặc định lại sử dụng signal SIGTERM.
Script:
ps -elf | grep | grep -v “grep” | awk ‘{print $4}’ | xargs kill -s SIGTERM
grep -v “grep” để loại bỏ chính process grep mà đang sử dụng trong script$4 là vị trí của PID – cột thứ 4 trong output của ps -elf
2. Sử dụng nohup để duy trì process ngay khi cả shell bị đóng
Tình huống:
Một số process chạy background làm nhiệm vụ lắng nghe sự kiện nào đó thì cần được duy trì liên tục. Khởi động một lần và chạy liên tục. Nghe có vẻ giống một service. Thực ra có thể viết một init script để khởi chạy các process kiểu như vậy. Nhưng có một cách đơn giản hơn. Đó là dùng nohup. Tôi không chắc là tốt hơn nhưng chỉ là đơn giản hơn. Script là gì
Tiện ích này cho phép duy trì process chạy trong chế độ background ngay cả khi shell mà tôi gọi nohup bị đóng. Nó cũng cho phép ghi log.
Xem thêm: Cách Khắc Chế Dirak ➤ Biến Quái Vật Thành Phế Vật Tng, Cách Chơi Dirak Liên Quân Mùa 15
Script:
nohup /usr/bin/php long_running_process.php > /var/log/nohup_long_running_process.log &
Nếu tôi cần câu lệnh trên được chạy sau khi hệ thống reboot thì tôi chỉ cần đặt câu lệnh đó vào một script. Ví dụ: test_long_running_process.sh Sau đó trong file /etc/rc.local (File này luôn được gọi mỗi khi hệ thống khởi động) Tôi khai báo:
/full/path/to/test_long_running_process.sh
3. Duy trì một số lượng file nhất định trong một thư mục
Tình huống:
Để đảm bảo hệ thống phục hồi khi có thảm họa xảy ra, tôi cần thực hiện backup định kỳ. Các bản backup này ban đầu thì không đáng kể về dung lượng nhưng quá trình tích lũy sẽ ngốn sạch không gian lưu trữ. Để tránh tình huống này xảy ra, tôi cần phải định kỳ xóa bớt các bản backup đã quá cũ. Ở đây có ba yêu cầu cho nhiệm vụ này:
Duy trì một số lượng nhất định các bản backup. Chú ý các bản backup ở đây là thư mụcCác bản backup được giữ lại phải là mới nhấtĐịnh kỳ theo dõi và xóa bỏ nếu số lượng bản backup vượt quá số quy định.Điều kiện:
Các thư mục kết xuất từ quá trình backup không nên đặt ở dạng quá đặc biệt như thư mục ẩn, có dấu – ở đầu dòng hoặc có new line trong tên. Script không hỗ trợ xử lý các thư mục có tên kỳ dị như vậy.
Script:
Ở đây tôi duy trì ba bản backup mới nhất
Script backup_cleaner.sh
ls -td1 /data/backup/*/ | tail -n +4 | xargs -r rm -rfv 2> /var/log/backup_cleaner.log
-t để sort các thư mục con trong thư mục /data/backup theo thời gian. Những thư mục mới nhất sẽ xếp trên đầu.
Xem thêm: 8 Sự Khác Biệt Chính Giữa Gen Z Là Gì ? Thế Hệ Z Là Gì? Chân Dung Của Gen Z
-d để chỉ list các directory trong /data/backup/*/ vì các bản backup được kết xuất ở dạng thư mục.
Các tìm kiếm liên quan đến script là gì
đoạn script là gìngôn ngữ script là gìcách viết scriptphp script là gìace script là gìscript file là gìscript là gì htmljavascript là gì