Nền lệnh Linux Nohup
2024-10-21 14:32:18
tin tức
tiyusaishi
Lệnh nohup trong Linux: Chạy chương trình trong nền và bỏ qua việc treo máy
Trong hệ điều hành Linux, chúng ta thường cần chạy một số chương trình ở chế độ nền, đặc biệt nếu chúng ta muốn thực hiện một số tác vụ dài hạn hoặc nếu chúng ta muốn chúng tiếp tục chạy ngay cả sau khi thoát khỏi thiết bị đầu cuối. Tại thời điểm này, chúng ta có thể sử dụng lệnh nohup trong Linux để đạt được điều này. Bài viết này sẽ trình bày chi tiết cách sử dụng lệnh nohup để chạy một chương trình trong nền Linux và bỏ qua việc gác máy.
Phần 1: Lệnh nohup là gì?
Nohup là chữ viết tắt của "Nohangup", cho phép chúng ta rời khỏi phiên shell và vẫn giữ cho chương trình chạy ở chế độ nền. Nói một cách đơn giản, lệnh nohup cho phép chúng ta chạy 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 việc đăng nhập từ xa hoặc các tác vụ dài hạn trên thiết bị đầu cuối cục bộ.
Phần 2: Làm thế nào để sử dụng lệnh nohup?
Cú pháp cơ bản của lệnh nohup như sau:
''Ầm ầm
nohupcommand>/dev/null2>&1&
```
Trong đó:
'command': Lệnh hoặc chương trình chạy.
'>/dev/null': Chuyển hướng đầu ra stdout đến '/dev/null', có nghĩa là không có đầu ra nào được hiển thị trên thiết bị đầu cuối. Nếu bạn không thêm tham số này, nohup sẽ ngừng chạy chương trình khi bạn đóng thiết bị đầu cuối.
'2>&1': Chuyển hướng lỗi chuẩn sang đầu ra chuẩn. Điều này cho phép chúng tôi nắm bắt cả thông tin stdout và stderror. Nếu không thêm tham số này, bạn có thể mất thông báo lỗi.
'&': Khiến lệnh chạy trong nền. Nếu bạn không thêm tham số này, lệnh sẽ chạy ở nền trước và bạn sẽ không thể làm gì khác.
Ví dụ: để chạy chương trình có tên "myprogram" trong nền, bạn có thể sử dụng lệnh sau:
''Ầm ầm
nohup./myprogram>/dev/null2>&1&
```
Bằng cách này, "myprogram" sẽ tiếp tục chạy trong nền ngay cả sau khi thoát khỏi thiết bị đầu cuối. Và tất cả các thông báo đầu ra và lỗi sẽ được chuyển hướng đến '/ dev / null', vì vậy chúng tôi sẽ không thấy bất kỳ thông báo đầu ra nào. Nếu bạn muốn xem đầu ra của chương trình, bạn có thể sử dụng tệp 'nohup.out' để xem thông tin đầu ra của nohup. Theo mặc định, nohup ghi đầu ra vào tệp này. Bạn có thể sử dụng lệnh sau để xem đầu ra:
''Ầm ầm
catnohup.out
```
3. Các mẹo và đề xuất hữu ích khác
Dưới đây là một số mẹo và thủ thuật khi sử dụng Nohup:
1. Đảm bảo chuyển hướng tất cả các đầu ra: Ngoài đầu ra tiêu chuẩn, hãy đảm bảo chuyển hướng đầu ra lỗi tiêu chuẩn đến cùng một tệp hoặc sử dụng một tệp được chỉ định khác để ghi lại thông báo lỗi. Điều này đảm bảo rằng bạn nhận được thông báo về lỗi ngay cả khi nó xảy ra. Nếu không, bạn có nguy cơ mất thông tin lỗi quan trọng. Bạn nên chuyển hướng đầu ra đến một tệp hoặc thư mục để bạn có thể dễ dàng xem và quản lý thông tin đầu ra. Bạn có thể chỉ định đường dẫn và tên tệp đầu ra bằng định dạng sau: 'nohupcommand>/path/to/outputfile2>&1&'. Điều này đảm bảo rằng tất cả đầu ra được ghi vào tệp được chỉ định. Nếu tệp được chỉ định không tồn tại, hệ thống sẽ tự động tạo tệp. Đảm bảo bạn có đủ quyền để ghi vào thư mục và tệp được chỉ định. Nếu không, bạn có thể gặp sự cố về quyền hoặc không thể ghi vào đầu ra. Ngoài ra, nếu tệp được chỉ định đã tồn tại và chứa đầu ra trước đó, đầu ra mới sẽ được nối vào cuối tệp thay vì ghi đè lên nội dung gốc, hãy nhớ kiểm tra nội dung của tệp để xem trạng thái đang chạy của chương trình và thông tin đầu ra, bạn có thể xem nội dung của tệp vào thời điểm thích hợp bằng lệnh 'cat' hoặc các trình soạn thảo văn bản khác. Điều này sẽ cung cấp cho bạn ý tưởng về cách chương trình đang hoạt động, cũng như mọi thông báo lỗi có thể xảy ra, v.v. và nếu bạn muốn xóa thông tin đầu ra đã được lưu trước đó trong tệp, bạn có thể sử dụng lại toán tử chuyển hướng ">" sau khi xemXin lưu ý rằng việc sửa đổi tệp có thể khiến trạng thái hoạt động và đầu ra của chương trình cũ không hồi cứu, vì vậy hãy thận trọng để tránh mất thông tin quan trọng, tóm lại, khi sử dụng nohup, đảm bảo rằng tất cả các đầu ra được chuyển hướng chính xác có thể giúp bạn quản lý và giám sát tốt hơn trạng thái đang chạy của chương trình và tránh mất thông tin quan trọng, Tôi hy vọng những mẹo và đề xuất này có thể giúp bạn sử dụng lệnh nohup trong Linux hiệu quả hơn và chạy thành công chương trình của bạn trong nền, tôi chúc bạn thành công trong việc khám phá thế giới Linux!