Linux chạy lệnh trong nền nohup mà không cần đầu ra
2024-10-24 10:38:21
tin tức
tiyusaishi
Tiêu đề: Chạy lệnh trong Linux sử dụng lệnh nohup trong nền và không xuất ra
Linux, như một hệ điều hành mã nguồn mở phổ biến, thường được sử dụng trong công việc hàng ngày. Để có thể thực hiện một số lệnh trong nền trong một thời gian dài và giữ cho chúng không bị ảnh hưởng khi gác máy, hệ thống Linux cung cấp một công cụ mạnh mẽ - lệnh nohup. Đồng thời, nếu bạn không cần đầu ra của lệnh, bạn có thể thực hiện các cài đặt bổ sung để 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 để chạy lệnh trong nền và không có đầu ra trên hệ thống Linux.
1. Hiểu lệnh nohup
Trước hết, chúng ta cần hiểu các chức năng cơ bản của lệnh nohup. Nohup là chữ viết tắt của "Nohangup", có thể chạy chương trình ở chế độ 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à các chương trình được khởi chạy qua NoHup sẽ tiếp tục chạy ngay cả khi phiên đầu cuối bị đóng hoặc người dùng đăng xuất. Điều này rất hữu ích để thực hiện các tác vụ dài hoặc chạy các chương trình trên máy chủ từ xa.
2. Sử dụng nohup để chạy lệnh trong nền
Sử dụng lệnh nohup rất đơn giản. Chỉ cần gõ "nohup[command]&" vào dòng lệnh, trong đó "[command]" là lệnh bạn muốn chạy trong nền và biểu tượng "&" có nghĩa là đặt lệnh ở chế độ nền để thực thi. 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&
```
3. Không xuất kết quả lệnh
Theo mặc định, nohup tạo ra một tập tin có tên là "nohup.out" trong thư mục hiện tại để lưu trữ đầu ra của chương trình. Nếu bạn không muốn thấy bất kỳ đầu ra nào, bạn có thể chuyển hướng đầu ra đến một tệp trống. Chẳng hạn:
''Ầm ầm
nohup./myprogram>/dev/null2>&1&
```
Ở đây "> / dev / null" có nghĩa là chuyển hướng đầu ra tiêu chuẩn đến một tệp thiết bị trống (tức là loại bỏ tất cả đầu ra), trong khi "2>&1" có nghĩa là chuyển hướng lỗi tiêu chuẩn (mô tả tệp 2) sang đầu ra tiêu chuẩn (mô tả tệp 1), tức là loại bỏ nó. Bằng cách này, đầu ra bình thường hay xấu sẽ không được hiển thị trên thiết bị đầu cuối.
4. Xem các tác vụ nền
Các tác vụ chạy trong nền có thể được kiểm tra trạng thái bằng cách xem danh sách các quy trình. Bạn có thể sử dụng lệnh sau để xem tất cả các quy trình:
''CSS
psaux|grep[từ khóa]
```
"psaux" được sử dụng để hiển thị thông tin chi tiết về tất cả các quy trình và "grep" được sử dụng để tìm kiếm các từ khóa cụ thể (chẳng hạn như tên lệnh hoặc ID quy trình). Bằng cách này, bạn có thể thấy trạng thái của các chương trình đang chạy trong nền.
5. Quản lý các tác vụ nền
Nếu bạn cần dừng một tác vụ nền, bạn có thể sử dụng một công cụ quản lý quy trình như kill hoặc pkill. Đầu tiên, tìm ID tiến trình (PID) của tiến trình thông qua lệnh ps và sau đó sử dụng lệnh kill để kết thúc quá trình. Chẳng hạn:
''Ầm ầm
giết[PID]
```
trong đó [PID] đại diện cho ID tiến trình của quá trình sẽ chấm dứt. Lưu ý rằng chỉ những người dùng có quyền thích hợp mới có thể chấm dứt quá trình.
Tóm tắt: Bằng cách làm theo phần giới thiệu của bài viết này, bạn nên học cách sử dụng lệnh nohup để chạy một chương trình trong nền trên Linux và tránh đầu ra. Điều này rất hữu ích cho các chương trình cần thực hiện các tác vụ dài trong nền hoặc trên các máy chủ từ xa. Nắm vững những lời khuyên này sẽ tăng năng suất của bạn.