Tiêu đề: Lệnh nohup chạy tệp jar trong nền
2024-10-24 10:57:50
tin tức
tiyusaishi
Trong Linux, đôi khi chúng ta cần chạy một số tác vụ dài hạn, chẳng hạn như các tệp jar Java. Tuy nhiên, nếu chúng tôi chạy trực tiếp các tác vụ này và đóng cửa sổ đầu cuối, các tác vụ này có thể bị dừng do mất kiểm soát. Trong trường hợp này, chúng ta cần sử dụng một công nghệ đặc biệt để giữ cho chương trình chạy khỏi những thay đổi trong môi trường nền trước hoặc nền. Lệnh nohup là một trong số đó, cho phép chúng ta chạy lệnh hoặc chương trình trong nền và không ngăn chương trình chạy ngay cả khi cửa sổ đầu cuối bị đóng. Bài viết này sẽ hướng dẫn chi tiết cách sử dụng lệnh nohup để chạy file jar ở chế độ nền.
1. Hiểu lệnh nohup
Trước hết, chúng ta cần hiểu khái niệm cơ bản và nguyên tắc hoạt động của lệnh nohup. Nohup là một lệnh được sử dụng để chạy các lệnh trong nền, điều này sẽ làm cho chương trình của người dùng chạy độc lập với trạng thái cửa sổ đầu cuối của người dùng. Nói một cách đơn giản, nó cho phép bạn thực hiện các tác vụ trong nền mà không bị ràng buộc bởi điều khiển phiên và không làm gián đoạn việc thực thi khi cửa sổ đầu cuối bị đóng.
2. Cách chạy tệp jar bằng lệnh nohup
Tiếp theo, chúng tôi sẽ hướng dẫn bạn cách sử dụng lệnh nohup để chạy tệp jar trong nền. Trước tiên, bạn cần mở một cửa sổ terminal và nhập định dạng lệnh sau:
nohupjava-jaryour_jar_file.jar&
"your_jar_file.jar" ở đây là tên của tập tin jar bạn muốn chạy. Biểu tượng "&" trong lệnh này sẽ khiến chương trình của bạn chạy trong nền. Nếu bạn không thêm "&", chương trình sẽ vẫn chạy ở nền trước và nếu bạn đóng cửa sổ terminal, chương trình sẽ bị chấm dứt. Nhưng khi bạn sử dụng "&", chương trình của bạn sẽ tiếp tục chạy trong nền bất kể bạn có đóng cửa sổ terminal hay không. Khi một lệnh hoặc chương trình được thực thi bằng lệnh nohup, đầu ra của lệnh hoặc chương trình được lưu vào tệp có tên nohup.out trong thư mục hiện tại theo mặc định. Nếu tệp không tồn tại, nó sẽ tự động được tạo để lưu trữ thông tin đầu ra. Tất nhiên, bạn cũng có thể sử dụng lệnh chuyển hướng để thay đổi đường dẫn và tên của tệp đầu ra. Chẳng hạn:
nohupjava-jaryour_jar_file.jar>output.log2>&1&
Lệnh này chuyển hướng đầu ra đến tệp output.log, trong khi 2>&1 có nghĩa là chuyển hướng lỗi tiêu chuẩn đến cùng một tệp cùng một lúc. Điều này giúp người dùng dễ dàng thu thập và hiểu nhật ký đang chạy và thông báo lỗi của chương trình. Lưu ý để thay thế your_jar_file.jar trong lệnh trên bằng tên tệp jar thực tế của bạn. Nếu tệp jar của bạn chứa một đường dẫn, chẳng hạn như '/home/user/myprogram.jar', bạn cũng sẽ cần cung cấp tên đường dẫn đầy đủ làm đối số để chuyển đến lệnh java. Tương tự, nếu tệp thực thi java không nằm trong đường dẫn được xác định trong biến môi trường PATH của hệ thống, bạn sẽ cần cung cấp tên đường dẫn đầy đủ để gọi lệnh java. Ví dụ: '/usr/bin/java-jar/home/user/myprogram.jar'. Bằng cách này, bất kể môi trường hệ thống của bạn thay đổi như thế nào, bạn có thể chắc chắn rằng chương trình của bạn sẽ chạy chính xác. Ngoài ra, nếu bạn cần xem trạng thái của một tiến trình đang chạy hoặc quản lý nó (ví dụ: dừng), bạn có thể làm như vậy bằng cách sử dụng các lệnh Linux như 'ps', 'kill', v.v. Bằng cách này, bạn có thể đảm bảo rằng các chương trình chạy trong nền vẫn có thể được kiểm soát và quản lý khi cần. Với các bước và thủ thuật trên, bạn có thể dễ dàng chạy tệp jar của mình trong nền và giữ cho nó chạy liên tục, ngay cả khi cửa sổ terminal đóng. Đây là một giải pháp kỹ thuật rất thiết thực cho các chương trình Java cần chạy trong một thời gian dài, và nó cũng có thể làm cho việc quản lý hệ thống máy tính của bạn hiệu quả và thuận tiện hơn, đồng thời cung cấp cho người dùng sự hỗ trợ môi trường làm việc tốt hơn, đặc biệt là đối với những nhà phát triển cấp doanh nghiệp và kỹ thuật viên chuyên nghiệp có nhiều nhiệm vụ trong một thời gian dài.