Cách khắc phục thông báo “A Stop Job is Running” trong quá trình tắt máy trên Linux

Nếu bạn đang sử dụng một bản phân phối Linux hiện đại, chắc chắn bạn sẽ gặp thông báo “A stop job is running” trong quá trình tắt máy, và nó sẽ tạm dừng quá trình tắt máy trong tối đa 90 giây. Hãy tìm hiểu lý do tại sao thông báo này xuất hiện và cách bạn có thể khắc phục nó.

Đây là tính năng an toàn, không phải lỗi!

Điều đầu tiên bạn cần biết là thông báo “A stop job is running” là một tính năng an toàn được tích hợp trong hệ thống, chứ không phải là lỗi.

Các bản phân phối Linux hiện đại như Ubuntu, Fedora và Arch sử dụng Systemd để quản lý quá trình khởi động và tắt máy. Khi bạn nhấp vào Shut Down, Systemd không chỉ đơn giản là rút phích cắm điện. Nó gửi một tín hiệu lịch sự gọi là SIGTERM đến mọi service và ứng dụng đang chạy. Hầu hết mọi ứng dụng, sau khi nhận được tín hiệu này, sẽ lưu dữ liệu của chúng, đóng các file và tắt máy một cách an toàn.

Tuy nhiên, một số service cần nhiều thời gian hơn để hoàn thành nhiệm vụ của chúng và bỏ qua tín hiệu. Đó là khi bạn thấy thông báo cảnh báo. Sự chậm trễ này thường xảy ra vì một số service nhất định, chẳng hạn như trình quản lý mạng, container, phiên người dùng hoặc ổ được mount trên mạng, cần thêm thời gian để đóng kết nối hoặc lưu dữ liệu một cách an toàn.

Nhiều người dùng Linux tìm kiếm giải pháp khi họ thấy thông báo “A Stop Job is Running”, cho rằng có điều gì đó bị lỗi. Sự thật là các nhà phát triển Systemd đã xây dựng hành vi này một cách có chủ đích. Về cơ bản, đó là khoảng thời gian chờ, thường là 90 giây, mà Systemd dành cho các service để hoàn thành những tác vụ đang chờ xử lý của chúng. Nếu một service không hoàn thành trong thời gian chờ được cấu hình, Systemd sẽ buộc phải chấm dứt nó bằng cách sử dụng SIGKILL và tiếp tục quá trình tắt máy.

Với quá trình tắt máy nhẹ nhàng này, nhiều ứng dụng hoàn thành những gì chúng đang làm, chẳng hạn như đóng file, hoàn tất các giao dịch cơ sở dữ liệu và gỡ bỏ hệ thống file một cách sạch sẽ. Bạn vẫn có thể loại bỏ thời gian chờ và làm cho quá trình tắt máy nhanh hơn, nhưng làm như vậy cũng làm tăng nguy cơ mất các ghi chép hoặc giao dịch gần đây, làm hỏng cơ sở dữ liệu hoặc file nhật ký, hoặc để lại các ổ được mount ở trạng thái không ổn định.

Giảm thời gian chờ mặc định

Thời gian chờ mặc định 90 giây tạo ra sự cân bằng cho nhiều người dùng Linux, đặc biệt là những người sử dụng phần cứng cũ hơn, vì nó đủ dài để hầu hết các service hoàn tất những quy trình dọn dẹp của chúng. Tuy nhiên, đối với người dùng sử dụng laptop hoặc desktop hiện đại, 90 giây có thể cảm thấy quá dài.

Dù lý do là gì, bạn có thể điều chỉnh file cấu hình hệ thống và giảm thời gian chờ bằng cách yêu cầu systemd cho các service chưa hoàn thành một số giây cụ thể để hoàn thành tác vụ của chúng.

Để bắt đầu, hãy mở terminal và sử dụng trình soạn thảo văn bản ưa thích của bạn để chỉnh sửa file cấu hình hệ thống:

sudo nano /etc/systemd/system.conf
Xem file cấu hình Systemd trên Terminal
Xem file cấu hình Systemd trên Terminal

Tiếp theo, hãy tìm biến timeout. Bạn sẽ thấy rất nhiều văn bản, đại diện cho các cài đặt toàn cục cho hệ thống của bạn. Tìm một dòng tương tự như #DefaultTimeoutStopSec=90s. Ký hiệu dấu thăng ở đầu dòng có nghĩa là nó đã được chú thích hoặc bị vô hiệu hóa. Hệ thống hiện đang sử dụng giá trị mặc định nội bộ, là 90 giây.

Để sửa đổi giá trị, trước tiên hãy xóa ký hiệu dấu thăng để kích hoạt dòng, sau đó thay đổi 90 giây thành thời gian ngắn hơn tùy theo sở thích của bạn.

Cảnh báo: Đừng đặt giá trị này thành 0. Đặt thành 0 sẽ tạo ra thời gian chờ vô hạn, nghĩa là hệ thống sẽ chờ mãi mãi cho đến khi quá trình dừng lại. Điều đó trái ngược với những gì chúng ta muốn. Một giá trị trung bình (20-30 giây) là hợp lý đối với nhiều người dùng.

Sau khi hoàn tất, hãy lưu và thoát khỏi trình chỉnh sửa. Để áp dụng các thay đổi, bạn thường cần khởi động lại. Vì sự cố xảy ra trong quá trình tắt máy, bạn có thể thấy thời gian chờ lâu thêm một lần nữa. Sau lần khởi động tiếp theo, giới hạn giây mới sẽ có hiệu lực.

Lưu ý: Trong một số trường hợp, bạn cũng có thể cần bật #DefaultDeviceTimeoutSec=90s để nó hoạt động.

Khi nào thời gian chờ có thể cho thấy một vấn đề?

Trong hầu hết các trường hợp, thời gian chờ dừng tác vụ là hành vi bình thường. Tuy nhiên, đôi khi nó có thể chỉ ra một vấn đề tiềm ẩn, đặc biệt nếu cùng một service trì hoãn việc tắt máy nhiều lần. Có thể ổ cứng mạng không thể truy cập được, một tiến trình nền bị cấu hình sai, hoặc một service không phản hồi đúng cách với tín hiệu tắt máy.

Nếu bạn nhận thấy quá trình tắt máy mất vài phút thay vì vài giây, hoặc cùng một service bị lỗi thời gian chờ mỗi lần, thì nên điều tra. Sự chậm trễ thỉnh thoảng thường không gây hại, nhưng sự chậm trễ liên tục cho thấy cần phải chú ý đến điều gì đó.

Để xác định service gây ra sự chậm trễ, hãy kiểm tra nhật ký sau khi khởi động lại từ quá trình tắt máy chậm:

journalctl -b -1 -e
Xác định service gây ra sự chậm trễ bằng Journalctl
Xác định service gây ra sự chậm trễ bằng Journalctl

Lệnh này hiển thị nhật ký từ lần khởi động trước và nhảy đến cuối. Bạn có thể cuộn lên để tìm kiếm các cảnh báo, thông báo lỗi thời gian chờ hoặc các service mà hệ thống đã buộc phải dừng.

Ngoài ra, bạn cũng có thể thu hẹp phạm vi tìm kiếm bằng cách xem các thông báo cảnh báo:

journalctl -b -1 -p warning
Xem các thông báo cảnh báo của Journalctl
Xem các thông báo cảnh báo của Journalctl

Một cách kiểm tra hữu ích khác là chạy lệnh phân tích Systemd này:

systemd-analyze blame

Mặc dù lệnh này tập trung vào thời gian khởi động, nhưng các service khởi động chậm thường có hành vi tương tự trong quá trình tắt máy. Một số service phổ biến khác có xu hướng gây ra thông báo dừng tác vụ bao gồm:

  • Các service mạng
  • Các hệ thống file từ xa như NFS hoặc SMB
  • Máy chủ cơ sở dữ liệu
  • Trình quản lý container và máy ảo
  • Ổ cứng ngoài và các thiết bị tự động mount

Việc mount dựa trên mạng đặc biệt dễ bị chậm trễ nếu kết nối không ổn định hoặc không còn khả dụng. Ngoài ra, giảm thời gian chờ tắt máy có thể làm cho quá trình tắt máy có vẻ nhanh hơn, nhưng nó không khắc phục được vấn đề gốc rễ. Nếu một service liên tục làm chậm quá trình tắt máy, việc giải quyết nguyên nhân gốc rễ sẽ mang lại kết quả tốt hơn về lâu dài.

Thứ Sáu, 30/01/2026 09:26
31 👨
Xác thực tài khoản!

Theo Nghị định 147/2024/ND-CP, bạn cần xác thực tài khoản trước khi sử dụng tính năng này. Chúng tôi sẽ gửi mã xác thực qua SMS hoặc Zalo tới số điện thoại mà bạn nhập dưới đây:

Số điện thoại chưa đúng định dạng!
Số điện thoại này đã được xác thực!
Bạn có thể dùng Sđt này đăng nhập tại đây!
Lỗi gửi SMS, liên hệ Admin
0 Bình luận
Sắp xếp theo
    ❖ Linux