nohup ghi vào tệp khác - 副本
2024-10-16 13:34:12
tin tức
tiyusaishi
Tiêu đề: Nohup ghi chuyển hướng đến các tệp khác
I. Giới thiệu
Trên các hệ thống Linux hoặc Unix, đôi khi chúng ta cần chạy một số lệnh hoặc chương trình và muốn tiếp tục chạy chúng ở chế độ nền, ngay cả khi chúng ta thoát khỏi thiết bị đầu cuối. Đây là nơi lệnh nohup xuất hiện. Và khi chúng ta cần thực hiện các thao tác ghi trong nền, chẳng hạn như ghi vào tệp nhật ký, v.v. và muốn nội dung của các bản ghi này được chuyển hướng đến các tệp khác, chúng ta cũng cần một số thủ thuật để làm như vậy. Bài viết này sẽ hướng dẫn bạn cách sử dụng lệnh nohup cũng như kỹ thuật chuyển hướng để đạt được điều này.
2. Giới thiệu về lệnh nohup
Nohup là chữ viết tắt của "nohangup", được sử dụng để chạy lệnh hoặc tập lệnh và làm cho nó chạy trong nền, bất kể phiên đầu cuối hiện tại. Các chương trình được khởi chạy với nohup sẽ tiếp tục chạy ngay cả khi thiết bị đầu cuối bị đóng hoặc ngắt kết nối. Điều này rất tốt cho các chương trình chạy dài hoặc các tác vụ nền.
3. Sử dụng nohup và chuyển hướng để ghi vào các tệp khác
Đôi khi chúng ta cần thực hiện một số thao tác ghi trong nền, chẳng hạn như ghi nhật ký, v.v. và chúng tôi muốn các đầu ra đó được ghi vào một tệp được chỉ định, thay vì đầu ra tiêu chuẩn mặc định hoặc đầu ra lỗi tiêu chuẩn. Tại thời điểm này, chúng ta có thể đạt được điều này bằng cách kết hợp lệnh nohup và toán tử chuyển hướng (>).
1. Mở Terminal.
2. Nhập định dạng lệnh sau: nohupcommand>filename&
trong đó lệnh là lệnh bạn muốn thực thi và tên tệp là tên của tệp bạn muốn ghi đầu ra. " chỉ ra rằng lệnh được chạy trong nền.
Ví dụ: nếu bạn muốn liên tục chạy một tập lệnh có tên myscript.sh trong nền và ghi tất cả đầu ra vào một tệp có tên logfile.txt, bạn có thể thực hiện việc này:
nohup./myscript.sh>logfile.txt&
Bằng cách này, cho dù bạn có đóng thiết bị đầu cuối hay không, myscript.sh sẽ chạy trong nền và tất cả đầu ra sẽ được ghi vào tệp logfile.txt.
4. Biện pháp phòng ngừa
1. Khi sử dụng lệnh nohup, một tệp có tên nohup.out sẽ được tạo trong thư mục hiện tại theo mặc định, lưu trữ đầu ra của lệnh do nohup chạy. Nếu bạn muốn ghi đầu ra vào một tệp khác, hãy sử dụng toán tử chuyển hướng như được mô tả ở trên.
2. Khi sử dụng chuyển hướng, nếu tệp đã tồn tại, nó sẽ bị ghi đè. Nếu bạn muốn nối đầu ra vào một tệp hiện có thay vì ghi đè lên nó, bạn có thể sử dụng chuyển hướng kép (>>).
3. Đảm bảo rằng người dùng chạy lệnh có quyền ghi vào tệp được chỉ định.
5. Tóm tắt
Bài viết này giải thích chi tiết cách thực hiện ghi trong nền và chuyển hướng đầu ra của chúng sang các tệp khác bằng cách giới thiệu lệnh nohup và kết hợp nó với các kỹ thuật chuyển hướng. Điều này rất hữu ích cho các tình huống như nơi bạn cần liên tục chạy các chương trình trong nền và lưu giữ nhật ký. Hy vọng bài viết này sẽ giúp bạn đọc hiểu rõ hơn và áp dụng kỹ thuật này.