I. Giới thiệu Trong Linux, chúng ta thường cần chạy các chương trình trong nền và muốn chúng tiếp tục chạy ngay cả khi thiết bị đầu cuối đã đóng. Đồng thời, chúng ta cũng cần lấy thông tin đầu ra của chương trình. Đối với các chương trình Java, lệnh nohup và kỹ thuật chuyển hướng có thể giúp chúng ta đạ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 hai kỹ thuật này để chạy chương trình Java trong nền và nhận đầu ra. 2. Giới thiệu về lệnh nohup Lệnh nohup là một lệnh trong Linux 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à ngay cả khi thiết bị đầu cuối bị đóng, chương trình vẫn sẽ chạy trong nền. Lệnh này lý tưởng cho các máy chủ từ xa hoặc các chương trình chạy dài. 3. Chạy các chương trình Java trong nền Để chạy một chương trình Java trong nền, bạn có thể sử dụng lệnh sau: ''Ầm ầm nohupjava-jaryour_program.jar& ``` Trong đó "your_program.jar" là tên tệp jar của chương trình Java của bạn. Sử dụng biểu tượng "&" cho phép chương trình chạy trong nền. Sau khi chạy lệnh trên, thiết bị đầu cuối sẽ xuất ra đường dẫn tệp đầu ra, ví dụ: nohup.out. Tất cả đầu ra của chương trình này sẽ được ghi vào tệp này. 4. Nhận đầu ra của chương trình Java Vì chương trình Java chạy trong nền, chúng ta không thể thấy đầu ra của nó trực tiếp. Tuy nhiên, chúng ta có thể nhận được đầu ra của chương trình bằng cách xem đầu ra tệp bằng lệnh trên, chẳng hạn như nohup.out. Sử dụng lệnh cat để xem nội dung của tệp: ''Ầm ầm catnohup.out ``` Ngoài ra, chúng tôi có thể chuyển hướng đầu ra đến một tệp được chỉ định để xem xét sau: ''Ầm ầm nohupjava-jaryour_program.jar>output.log2>&1& ``` Lệnh trên chuyển hướng đầu ra của chương trình Java sang tệp có tên "output.log". trong đó "2>&1" có nghĩa là đầu ra lỗi tiêu chuẩn cũng được chuyển hướng đến cùng một tệp. Bằng cách này, chúng ta có thể thấy toàn bộ đầu ra của chương trình trong tệp output.log. 5. Biện pháp phòng ngừa 1. Khi sử dụng lệnh nohup, hãy đảm bảo bạn có đủ quyền để chạy chương trình trên máy chủ. Nếu không, chương trình có thể không thành công do vấn đề quyền. 2. Kích thước tệp đầu ra có thể rất lớn, tùy thuộc vào lượng dữ liệu được tạo khi chương trình của bạn đang chạy. Đảm bảo rằng bạn có đủ dung lượng đĩa để lưu trữ các tệp đầu ra. 3. Nếu chương trình của bạn cần tương tác với người dùng (ví dụ: đọc đầu vào của người dùng), thì việc để nó chạy trong nền có thể gây ra sự cố. Trong trường hợp này, bạn có thể muốn xem xét các cách khác để thực hiện hoạt động và tương tác của chương trình. 6. Tóm tắt Chủ đề này mô tả cách sử dụng lệnh nohup và kỹ thuật chuyển hướng để chạy chương trình Java trong nền trên hệ thống Linux và lấy thông tin đầu ra của nó. Điều này rất hữu ích cho các chương trình Java cần chạy trên máy chủ trong một thời gian dài. Bằng cách sử dụng các kỹ thuật này, chúng tôi có thể đảm bảo rằng chương trình tiếp tục chạy ngay cả khi thiết bị đầu cuối bị tắt và có thể dễ dàng thu được thông tin đầu ra của chương trình.