I. Giới thiệu Khi sử dụng hệ thống Linux, thường cần phải chạy các tác vụ dài trên thiết bị đầu cuối. Đôi khi chúng tôi muốn các tác vụ này tiếp tục chạy ngay cả sau khi đóng thiết bị đầu cuối hoặc đăng xuất. Để làm điều này, chúng ta cần đặt các chương trình này chạy trong nền và bỏ qua tín hiệu gác máy. Lệnh nohup là một công cụ quan trọng để giúp chúng ta đạt được điều này. Bài viết này sẽ trình bày chi tiết cách khởi động nền trong Linux và bỏ qua tín hiệu treo máy bằng lệnh nohup. 2. Tổng quan về lệnh nohup Nohup là một tiện ích dòng lệnh có chức năng chính là chạy các lệnh trong nền và bỏ qua tất cả các tín hiệu gác máy. Điều này có nghĩa là ngay cả khi thiết bị đầu cuối bị đóng hoặc phiên đăng nhập kết thúc, chương trình do Nohup khởi chạy sẽ tiếp tục chạy. Điều này rất hữu ích để thực hiện các nhiệm vụ dài. 3. Cách sử dụng lệnh nohup Cú pháp cơ bản để sử dụng lệnh nohup như sau: ''Ầm ầm nohupcommand>/dev/null2>&1& ``` Trong đó: 'command' là lệnh hoặc chương trình bạn muốn chạy trong nền. '>/dev/null' chuyển hướng đầu ra của lệnh đến một thiết bị trống để bạn không nhận được bất kỳ thông tin đầu ra nào. '2>&1' là chuyển hướng lỗi tiêu chuẩn (2) sang đầu ra tiêu chuẩn (1) để thông báo lỗi cũng bị loại bỏ. '&' là biểu tượng làm cho lệnh chạy trong nền. Ví dụ: nếu bạn muốn chạy một chương trình có tên là "myprogram" trong nền, bạn có thể sử dụng lệnh sau: ''Ầm ầm nohup./myprogram>/dev/null2>&1& ``` 4. Quản lý phiên Nohup và thiết bị đầu cuối Trong Linux, khi bạn đóng thiết bị đầu cuối hoặc ngắt kết nối khỏi SSH, các tiến trình đang chạy trên thiết bị đầu cuối sẽ bị chấm dứt trong các trường hợp bình thường. Tuy nhiên, các chương trình bắt đầu sử dụng lệnh nohup sẽ tiếp tục chạy trong nền và sẽ không bị ảnh hưởng. Điều này là do nohup tạo một phiên mới và chạy lệnh của bạn dưới dạng con của phiên đó. Bằng cách này, ngay cả khi bạn đóng thiết bị đầu cuối hoặc phiên ban đầu, phiên mới sẽ tiếp tục chạy. 5. Xem và quản lý các tác vụ Nohup Bạn có thể sử dụng lệnh 'ps' để xem tác vụ nào nohup đã bắt đầu. Những nhiệm vụ này thường có một quá trình được đặt tên là "nohup" làm cha mẹ của chúng. Bạn cũng có thể sử dụng lệnh 'kill' để chấm dứt các tác vụ này. Nếu chương trình bạn bắt đầu với nohup có thông tin đầu ra, thông tin này thường sẽ được lưu trữ trong một tệp có tên là "nohup.out" trong thư mục hiện tại. Bạn có thể kiểm tra tệp này để có được đầu ra của chương trình. 6. Biện pháp phòng ngừa Mặc dù lệnh nohup rất mạnh, nhưng có một vài điều cần lưu ý khi sử dụng nó: 1. Đảm bảo bạn có đủ quyền để thực hiện các lệnh và tạo các phiên mới. 2. Các chương trình được khởi chạy với Nohup sẽ không tự động tải các biến môi trường hoặc cấu hình người dùng của bạn. Vì vậy, nếu chương trình của bạn dựa vào các cài đặt này, bạn có thể cần đặt chúng theo cách thủ công hoặc trong tập lệnh. 3. Các chương trình được khởi chạy với nohup sẽ không tự động xử lý lỗi hoặc thoát bất thường. Bạn có thể cần phải viết các tập lệnh bổ sung để xử lý các tình huống này. 7. Tóm tắt Lệnh nohup là một công cụ rất hữu ích trong Linux cho phép chúng ta chạy các chương trình ở chế độ nền và bỏ qua tín hiệu gác máy. Điều này rất hữu ích cho các tình huống mà bạn cần chạy một chương trình sau khi thực hiện một tác vụ dài hoặc sau khi đóng thiết bị đầu cuối. Bằng cách sử dụng lệnh nohup một cách khôn ngoan, chúng ta có thể quản lý các tác vụ và chương trình của mình hiệu quả hơn, làm cho chúng chạy trơn tru trong nền.