上一篇
nohup trong Linux với chuyển hướng đầu ra
I. Giới thiệu
Trong hệ thống Linux, chúng ta thường cần chạy một số tác vụ dài hạn trong nền, chẳng hạn như tập lệnh, chương trình, v.v. Trong những trường hợp này, chúng tôi muốn các tác vụ này tiếp tục chạy ngay cả khi chúng tôi thoát khỏi thiết bị đầu cuối hoặc đóng phiên. Trong trường hợp này, chúng ta cần sử dụng lệnh nohup trong Linux và chức năng chuyển hướng đầu ra. Bài viết này sẽ giới thiệu chi tiết cách sử dụng lệnh nohup và chuyển hướng đầu ra để chạy các tác vụ nền và quản lý đầu ra trong Linux.
2. Giới thiệu về lệnh nohup
Nohup là tên viết tắt của "nohangup", cho phép chúng ta rời khỏi phiên shell và vẫn để lệnh tiếp tục chạy trong nền. Sử dụng lệnh này cho phép bạn khởi chạy các chương trình trên thiết bị đầu cuối mà không bị gián đoạn bằng cách đóng thiết bị đầu cuối. Điều này rất hữu ích cho việc chạy các tác vụ cần được xử lý trong một thời gian 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>output_file2>&1&
```
Trong đó:
Lệnh là một lệnh hoặc chương trình mà bạn muốn chạy trong nền.
output_file là tên tệp của đầu ra lệnh. Nếu tệp không tồn tại, hệ thống sẽ tạo nó. Nếu tệp đã tồn tại, đầu ra của lệnh sẽ được gắn vào tệp.
2>&1 có nghĩa là lỗi tiêu chuẩn (bộ mô tả tệp 2) được chuyển hướng đến đầu ra tiêu chuẩn (bộ mô tả tệp 1) để cả đầu ra tiêu chuẩn và lỗi tiêu chuẩn được ghi vào cùng một tệp.
" chỉ ra rằng lệnh được chạy trong nền.
Ví dụ: để chạy tập lệnh có tên myscript.sh trong nền và chuyển hướng đầu ra sang tệp output.log, bạn có thể thực hiện lệnh sau:
''Ầm ầm
nohup./myscript.sh>output.log2>&1&
```
4. Xem các tác vụ nền
Bạn có thể sử dụng lệnh công việc để xem các tác vụ hiện đang chạy trong nền. Lệnh hiển thị danh sách các tác vụ và thông tin như ID quy trình và trạng thái của tác vụ. Sử dụng Ctrl+Z để tạm dừng nhiệm vụ hiện tại và quay lại nền trước, sau đó sử dụng lệnh jobs để xem danh sách nhiệm vụ nền. Sử dụng lệnh bg để đặt một tác vụ bị tạm dừng trong nền và tiếp tục chạy. Ví dụ: sử dụng lệnh sau để đặt tác vụ bị tạm dừng đang chạy trong nền:
''Ầm ầm
bg%nn là số của nhiệm vụ, ví dụ: %1 đại diện cho nhiệm vụ đầu tiên.
```
5. Tầm quan trọng của chuyển hướng đầu ra
Trong các nhiệm vụ dài hạn, việc chuyển hướng đầu ra là rất quan trọng. Nếu chuyển hướng đầu ra không được thiết lập chính xác, đầu ra của tác vụ có thể được gửi đến thiết bị đầu cuối và khi đóng thiết bị đầu cuối, đầu ra sẽ bị loại bỏ. Sử dụng nohup và chuyển hướng đầu ra đảm bảo rằng đầu ra của tác vụ được lưu vào tệp để xem xét và phân tích sau này. Điều này có thể rất hữu ích để theo dõi tình trạng chương trình và khắc phục sự cố.
6. Tóm tắt
Bài viết này mô tả lệnh nohup và các tính năng chuyển hướng đầu ra trong Linux, rất hữu ích để chạy các tác vụ dài và quản lý đầu ra tác vụ trong nền. Bằng cách sử dụng lệnh nohup và cài đặt chuyển hướng đầu ra chính xác, chúng tôi có thể đảm bảo rằng tác vụ tiếp tục chạy ngay cả sau khi thoát khỏi thiết bị đầu cuối hoặc đóng phiên và lưu đầu ra vào tệp để xem xét và phân tích sau. Đây là một kỹ năng quan trọng đối với quản trị viên và nhà phát triển hệ thống để giúp cải thiện năng suất và khắc phục sự cố.