Giới thiệu
Trong lab này, chúng ta sẽ khám phá lệnh atrm
trong Linux, cho phép bạn xóa các tác vụ đã lên lịch. Lab này bao gồm phần giới thiệu về lệnh atrm
, cách xóa các tác vụ đã lên lịch bằng atrm
và các kỹ thuật gỡ rối để quản lý các tác vụ đã lên lịch. Gói at
, là yêu cầu bắt buộc cho lệnh atrm
, có thể cần được cài đặt trên container Ubuntu 22.04 Docker của bạn trước khi tiếp tục với lab.
Giới thiệu về lệnh atrm
Trong bước này, chúng ta sẽ khám phá lệnh atrm
trong Linux, cho phép bạn xóa các tác vụ đã lên lịch. Lệnh atrm
là một phần của gói at
, được sử dụng để lên lịch các tác vụ chạy vào một thời điểm cụ thể.
Đầu tiên, hãy kiểm tra xem gói at
đã được cài đặt trên container Ubuntu 22.04 Docker của chúng ta chưa:
sudo apt-get update
sudo apt-get install -y at
Bây giờ, hãy tạo một tác vụ đã lên lịch mẫu bằng lệnh at
:
echo "echo 'This is a scheduled task'" | sudo at now + 1 minute
Lệnh này sẽ tạo một tác vụ đã lên lịch để thực thi lệnh echo 'This is a scheduled task'
sau một phút.
Ví dụ về đầu ra:
job 1 at Fri Apr 14 14:41:00 2023
Bây giờ, hãy sử dụng lệnh atrm
để xóa tác vụ đã lên lịch:
sudo atrm 1
Số 1
trong lệnh đề cập đến ID công việc của tác vụ đã lên lịch mà chúng ta đã tạo trước đó.
Ví dụ về đầu ra:
1 removed
Xóa các tác vụ đã lên lịch bằng atrm
Trong bước này, chúng ta sẽ tìm hiểu cách xóa các tác vụ đã lên lịch bằng lệnh atrm
.
Đầu tiên, hãy tạo một vài tác vụ đã lên lịch bằng lệnh at
:
echo "echo 'Task 1'" | sudo at now + 1 minute
echo "echo 'Task 2'" | sudo at now + 2 minutes
echo "echo 'Task 3'" | sudo at now + 3 minutes
Bây giờ, hãy liệt kê các tác vụ đã lên lịch bằng lệnh atq
:
sudo atq
Ví dụ về đầu ra:
3 Fri Apr 14 14:43:00 2023 a labex
2 Fri Apr 14 14:42:00 2023 a labex
1 Fri Apr 14 14:41:00 2023 a labex
Để xóa một tác vụ đã lên lịch cụ thể, chúng ta có thể sử dụng lệnh atrm
, theo sau là ID công việc. Ví dụ: để xóa tác vụ có ID công việc là 2, chúng ta sẽ chạy:
sudo atrm 2
Ví dụ về đầu ra:
2 removed
Hãy xác minh rằng tác vụ đã bị xóa:
sudo atq
Ví dụ về đầu ra:
3 Fri Apr 14 14:43:00 2023 a labex
1 Fri Apr 14 14:41:00 2023 a labex
Bạn có thể lặp lại quy trình này để xóa bất kỳ tác vụ đã lên lịch nào khác khi cần.
Gỡ rối các tác vụ đã lên lịch bằng atrm
Trong bước cuối cùng này, chúng ta sẽ tìm hiểu cách gỡ rối các tác vụ đã lên lịch bằng lệnh atrm
.
Đầu tiên, hãy tạo thêm một vài tác vụ đã lên lịch:
echo "echo 'Task 4'" | sudo at now + 1 minute
echo "echo 'Task 5'" | sudo at now + 2 minutes
echo "echo 'Task 6'" | sudo at now + 3 minutes
Bây giờ, hãy liệt kê các tác vụ đã lên lịch bằng lệnh atq
:
sudo atq
Ví dụ về đầu ra:
6 Fri Apr 14 14:46:00 2023 a labex
5 Fri Apr 14 14:45:00 2023 a labex
4 Fri Apr 14 14:44:00 2023 a labex
3 Fri Apr 14 14:43:00 2023 a labex
1 Fri Apr 14 14:41:00 2023 a labex
Giả sử chúng ta muốn xóa tác vụ có ID công việc là 5, nhưng vô tình nhập sai ID công việc:
sudo atrm 50
Ví dụ về đầu ra:
atrm: 50: no such job
Trong trường hợp này, lệnh atrm
không thể tìm thấy công việc có ID là 50, vì nó không tồn tại. Để gỡ rối điều này, chúng ta có thể sử dụng lệnh atq
để liệt kê lại các tác vụ đã lên lịch và xác minh ID công việc chính xác.
sudo atq
Ví dụ về đầu ra:
6 Fri Apr 14 14:46:00 2023 a labex
5 Fri Apr 14 14:45:00 2023 a labex
4 Fri Apr 14 14:44:00 2023 a labex
3 Fri Apr 14 14:43:00 2023 a labex
1 Fri Apr 14 14:41:00 2023 a labex
Bây giờ, chúng ta có thể xóa tác vụ có ID công việc là 5 một cách chính xác:
sudo atrm 5
Ví dụ về đầu ra:
5 removed
Tóm tắt
Trong lab này, chúng ta đã khám phá lệnh atrm
trong Linux, cho phép bạn xóa các tác vụ đã lên lịch. Đầu tiên, chúng ta đã tìm hiểu cách cài đặt gói at
và tạo một tác vụ đã lên lịch mẫu bằng lệnh at
. Sau đó, chúng ta đã sử dụng lệnh atrm
để xóa tác vụ đã lên lịch. Tiếp theo, chúng ta đã tạo nhiều tác vụ đã lên lịch và tìm hiểu cách xóa chúng riêng lẻ bằng lệnh atrm
và ID công việc. Cuối cùng, chúng ta đã thảo luận về cách gỡ rối mọi sự cố với các tác vụ đã lên lịch bằng cách kiểm tra hàng đợi tác vụ và xóa các tác vụ khi cần.