Cài đặt lệnh nohup: Một cách để chạy một chương trình trong nền trên hệ thống Linux

2024-10-12 14:44:25 tin tức tiyusaishi
Trong các hệ thống Linux, chúng ta thường cần chạy một số chương trình ở chế độ nền, chẳng hạn như các tập lệnh chạy dài, quy trình máy chủ, v.v. Để đạt được điều này, chúng ta có thể sử dụng một lệnh mạnh mẽ - lệnh nohup. Bài viết này sẽ trình bày cách cài đặt và sử dụng lệnh nohup, cũng như một số cân nhắc để chạy các chương trình trong nền. Phần 1: Lệnh nohup là gì? Nohup là chữ viết tắt của "nohangup", có nghĩa là nó sẽ không bị treo. Lệnh này cho phép chúng tôi tiếp tục chạy chương trình sau khi thoát khỏi thiết bị đầu cuối hoặc đóng phiên. Một chương trình bắt đầu bằng lệnh nohup bỏ qua tín hiệu treo máy và chuyển hướng đầu ra của chương trình đến một tệp có tên nohup.out để chúng ta có thể xem kết quả chạy của chương trình. Phần 2: Làm cách nào để cài đặt lệnh nohup? Trong hầu hết các bản phân phối Linux, lệnh nohup được cài đặt theo mặc định. Nếu bạn không có lệnh này trên hệ thống của mình, bạn có thể cài đặt nó bằng cách làm theo các bước sau: 1. Mở thiết bị đầu cuối và nhập các lệnh: sudoaptupdate (đối với các hệ thống dựa trên Debian như Ubuntu) hoặc sudoyumupdate (đối với các hệ thống dựa trên RedHat). 2. Cài đặt gói coreutils, chứa lệnh nohup. Nhập lệnh: sudoaptinstallcoreutils (đối với các hệ thống dựa trên Debian) hoặc sudoyuminstallcoreutils (đối với các hệ thống dựa trên RedHat). 3. Sau khi cài đặt hoàn tất, bạn có thể sử dụng lệnh whichnohup để kiểm tra xem lệnh nohup đã được cài đặt thành công chưa. Phần 3: Làm thế nào để sử dụng lệnh nohup? Cú pháp cơ bản để sử dụng lệnh nohup như sau: nohupcommand>/dev/null2>&1&. Trong đó lệnh là chương trình hoặc tập lệnh bạn muốn chạy, / dev / null có nghĩa là chuyển hướng đầu ra đến một thiết bị trống, 2>&1 có nghĩa là chuyển hướng đầu ra lỗi tiêu chuẩn sang đầu ra tiêu chuẩn & có nghĩa là đưa chương trình vào nền để chạy. Ví dụ: để chạy tập lệnh có tên myscript.sh trong nền, bạn có thể sử dụng lệnh sau: nohup./myscript.sh>/dev/null2>&1&。 Bằng cách này, myscript.sh sẽ tiếp tục chạy trong nền ngay cả khi thiết bị đầu cuối bị đóng hoặc phiên bị ngắt kết nối. 4. Biện pháp phòng ngừa 1. Các chương trình bắt đầu bằng lệnh nohup sẽ chạy trong nền cho đến khi chúng được chấm dứt theo cách thủ công hoặc chương trình tự kết thúc. Vì vậy, hãy chắc chắn rằng bạn biết về thời gian chạy và tiêu thụ tài nguyên của chương trình. 2. Các chương trình được khởi chạy bằng lệnh nohup không hiển thị đầu ra trong thiết bị đầu cuối. Để xem kết quả hoạt động của chương trình, bạn có thể xem tệp nohup.out hoặc sử dụng các phương pháp ghi nhật ký khác. 3. Để đảm bảo hoạt động bình thường của chương trình, nên chuyển hướng đầu ra của chương trình sang tệp hoặc vị trí khác để tránh quá tải quá nhiều thông tin và khiến thiết bị đầu cuối bị tắc nghẽn. 4. Các chương trình được khởi chạy bằng lệnh nohup sẽ tự động khởi động sau khi hệ thống khởi động lại. Nếu bạn cần tắt tính năng này, hãy sửa đổi tập lệnh khởi động hoặc tệp cấu hình của chương trình. Tóm lại, lệnh nohup là một công cụ rất hữu ích trong hệ thống Linux giúp chúng ta chạy chương trình ở chế độ nền và đảm bảo rằng nó không ngừng chạy do thiết bị đầu cuối bị đóng. Qua phần giới thiệu bài viết này, tôi tin rằng bạn đã nắm vững cách cài đặt và sử dụng lệnh nohup và các biện pháp phòng ngừa. Trong quá trình sử dụng thực tế, hãy lựa chọn các thông số và phương pháp cấu hình phù hợp dựa trên nhu cầu và môi trường của bạn.