Đầu ra Nohup thành tên tệp
2024-10-26 13:22:04
tin tức
tiyusaishi
Tiêu đề: Nohup Output to Filename - Giữ cho các tác vụ nền chạy và lưu đầu ra đúng cách
I. Giới thiệu
Trong công việc hoặc học tập hàng ngày, chúng ta thường cần chạy một số tác vụ dài hạn ở chế độ nền, chẳng hạn như xử lý dữ liệu, biên dịch chương trình, v.v. Để đảm bảo rằng các tác vụ này không bị gián đoạn do tắt thiết bị đầu cuối hoặc các lý do khác, chúng tôi sử dụng lệnh nohup. Đồng thời, để quản lý thông tin đầu ra của các tác vụ này, chúng ta cũng cần chuyển hướng đầu ra sang một tệp. Bài viết này sẽ hướng dẫn bạn cách sử dụng lệnh nohup để lưu đầu ra vào một tệp được chỉ định.
2. Giới thiệu về lệnh nohup
nohup, viết tắt của "nohangup", là một lệnh chạy trên các hệ thống Unix và Linux để chạy các lệnh hoặc tập lệnh trong nền và không bị ảnh hưởng bởi thiết bị đầu cuối treo máy. Ngay cả khi thiết bị đầu cuối bị đóng, quá trình bắt đầu bởi nohup sẽ tiếp tục chạy. Điều này rất hữu ích cho các nhiệm vụ lâu dài.
3. Sử dụng nohup để chạy các tác vụ nền
Nhập định dạng lệnh sau vào dòng lệnh để đặt lệnh hoặc tập lệnh bạn muốn chạy trong nền:
nohupcommand>tên tệp&
Trong số đó, "lệnh" là lệnh hoặc tập lệnh cần được chạy, "tên tệp" là tên của tệp nơi đầu ra sẽ được lưu và biểu tượng "&" đặt lệnh vào nền để chạy. Bằng cách này, ngay cả khi thiết bị đầu cuối bị đóng, lệnh hoặc tập lệnh sẽ tiếp tục chạy trong nền và lưu đầu ra vào tệp được chỉ định.
4. Ví dụ
Giả sử chúng ta muốn chạy một tập lệnh có tên là "myscript.sh" trong nền và lưu đầu ra vào một tệp có tên là "output.txt". Chúng ta có thể sử dụng lệnh sau:
nohup./myscript.sh>output.txt&
Thao tác này sẽ khởi chạy tập lệnh myscript.sh và lưu tất cả đầu ra vào tệp output.txt. Ngay cả khi chúng tôi đóng thiết bị đầu cuối hoặc ngắt kết nối SSH, tập lệnh vẫn tiếp tục chạy trong nền.
5. Xem và quản lý các tác vụ nền
Để xem các tác vụ hiện đang chạy trong nền, bạn có thể sử dụng lệnh sau:
Jobs
Hoặc xem danh sách các quy trình:
psaux|grep keyword (ví dụ: tên quy trình hoặc một phần đầu ra)
Để quản lý các tác vụ nền, bạn cũng có thể sử dụng các công cụ khác như tmux hoặc màn hình, v.v. Những công cụ này cung cấp các tính năng mạnh mẽ hơn để quản lý nhiều tác vụ nền.
6. Biện pháp phòng ngừa
1. Khi chạy các tác vụ nền với nohup, hãy đảm bảo rằng tập lệnh hoặc lệnh có các quyền thích hợp. Nếu đặc quyền quản trị viên được yêu cầu, hãy sử dụng lệnh sudo hoặc đăng nhập với tư cách quản trị viên.
2. Tên tệp đầu ra có thể chứa đường dẫn tuyệt đối hoặc đường dẫn tương đối. Nếu bạn chỉ định một đường dẫn tương đối, tệp đầu ra được tạo trong thư mục làm việc hiện tại. Đảm bảo rằng thư mục làm việc hiện tại là nơi bạn mong đợi.
3. Để tránh tệp đầu ra bị ghi đè, bạn có thể sử dụng thanh dọc kép (||Nối đầu ra vào cuối tệp thay vì ghi đè lên nội dung gốc:
nohupcommand>>tên tệp&
7. Tóm tắt
Bằng cách sử dụng lệnh nohup, chúng ta có thể dễ dàng chạy một tác vụ dài trong nền và lưu đầu ra vào một tệp được chỉ định. Điều này rất hữu ích cho các tác vụ trên máy chủ từ xa hoặc trong thời gian dài trên máy tính cục bộ. Bài viết này mô tả cách sử dụng lệnh nohup và một số mẹo cơ bản để quản lý tác vụ nền. Hy vọng bài viết này sẽ giúp bạn quản lý và chạy các tác vụ nền tốt hơn.