Lệnh atrm trong Linux

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.

400+ câu lệnh phổ biến trong Linux