Nohup làm gì trong Linux
2024-10-28 16:10:53
tin tức
tiyusaishi
"Phân tích cú pháp hàm lệnh Nohup trong Linux"
Trong Linux, khi chúng ta muốn chạy một lệnh, chẳng hạn như tác vụ xử lý dữ liệu dài hạn hoặc bảo trì hệ thống, chúng ta thường cần đảm bảo rằng lệnh có thể tiếp tục chạy ngay cả khi thiết bị đầu cuối bị ngắt kết nối. Tại thời điểm này, chúng ta có thể sử dụng một công cụ mạnh mẽ trong Linux - lệnh nohup. Bài viết này sẽ trình bày chi tiết vai trò của nohup trong Linux và cách sử dụng nó.
1. NOHUP là gì?
Nohup là chữ viết tắt của "nohangup", và nó là một lệnh có thể chạy các lệnh trong nền và bỏ qua tất cả các tín hiệu gác máy. Tín hiệu gác máy là cho phép quá trình chạy nền trước kết thúc chạy khi thiết bị đầu cuối đóng. Tuy nhiên, đôi khi chúng ta muốn lệnh tiếp tục chạy ngay cả khi thiết bị đầu cuối bị ngắt kết nối. Đó là nơi lệnh nohup có ích. Nó cho phép người dùng chạy lệnh hoặc tập lệnh và lệnh tiếp tục chạy ngay cả khi cửa sổ đầu cuối hoặc phiên SSH bị đóng.
Thứ hai, nguyên tắc hoạt động của Nohup
Khi bạn chạy một chương trình bằng lệnh nohup, chương trình sẽ bắt đầu một phiên shell mới và ghi phiên đó vào một tệp có tên nohup.out (trừ khi một tệp đầu ra khác được chỉ định). Bằng cách này, ngay cả khi phiên đầu cuối kết thúc, chương trình vẫn sẽ chạy trong nền và ghi đầu ra vào một tệp. Mục đích của việc này là để ngăn lệnh bị chấm dứt do cúp máy. Người dùng có thể tiếp tục theo dõi đầu ra của quá trình ngay cả sau khi phiên được đóng, chỉ bằng cách xem tệp nohup.out đã đề cập trước đó. Nếu không có tệp đầu ra nào được chỉ định, đầu ra là tệp nohup.out trong thư mục hiện tại theo mặc định.
3. Làm thế nào để sử dụng Nohup?
Cú pháp cơ bản để sử dụng lệnh nohup như sau:
''Ầm ầm
nohupcommand>/dev/null2>&1&
```
Trong đó:
- 'lệnh' là lệnh hoặc tập lệnh bạn muốn chạy.
- '>/dev/null' có nghĩa là chuyển hướng stdout đến một thiết bị trống (tức là bỏ tất cả stdout). Nếu bạn muốn lưu đầu ra vào một tệp, bạn có thể chuyển hướng nó trực tiếp đến tên tệp. Ví dụ: '>output.log' lưu đầu ra tiêu chuẩn vào tệp output.log.
-'2>&1' chỉ ra rằng lỗi tiêu chuẩn cũng được chuyển hướng đến đầu ra tiêu chuẩn (tức là thông báo lỗi cũng được ghi vào tệp). Nếu bạn không viết phần này, thông báo lỗi sẽ được xuất ra thiết bị đầu cuối hiện tại hoặc tệp mặc định. Nó phụ thuộc vào việc thiết bị đầu cuối hiện tại có ngừng hoạt động hay không. Nếu cửa sổ đầu cuối bị đóng, thông báo lỗi thường sẽ được hiển thị trong email của người dùng hoặc được gửi cho người dùng thông qua các phương tiện khác (hành vi chính xác có thể phụ thuộc vào cấu hình của hệ thống). Nếu bạn cần lưu đầu ra lỗi một cách độc lập, bạn có thể chuyển hướng lỗi tiêu chuẩn sang một tệp khác, chẳng hạn như '2>error.log'. Thông báo lỗi sau đó được lưu vào tệp error.log.
-'&' chỉ ra rằng lệnh được đưa vào nền để chạy. Nếu bạn không thêm biểu tượng này, lệnh sẽ chạy ở nền trước và chiếm cửa sổ terminal cho đến khi nó kết thúc. Ngay cả khi bạn nhập thủ công lệnh này trên dòng lệnh hoặc gặp nó trong tệp tập lệnh, chương trình sẽ chạy trong nền và tạo danh sách dự phòng của máy khách cho máy khách và nó không ảnh hưởng đến tính hợp pháp hoặc hoạt động gián đoạn của nó, cho phép quản trị viên khởi động và duy trì một số lượng lớn chương trình và đảm bảo rằng chúng tiếp tục chạy mà không bị gián đoạn bởi con người, ngay cả khi người dùng đăng xuất khỏi thiết bị đầu cuối hoặc mạng bị ngắt kết nối và quản trị viên thường tận dụng tính năng này để thực thi các chương trình cần chạy trong một thời gian dài, chẳng hạn như tác vụ sao lưu hoặc tác vụ xử lý hàng loạt, thường không bị ảnh hưởng bởi sự can thiệp trực tiếp của người dùng, vì vậy chúng được sử dụngCách chạy trong nền sẽ thuận tiện và hiệu quả hơn, bốn tóm tắt, nói chung, lệnh nohup là một công cụ rất hữu ích trong Linux, nó cho phép người dùng chạy chương trình ở chế độ nền, ngay cả khi thiết bị đầu cuối bị ngắt kết nối, nó cũng có thể đảm bảo hoạt động liên tục của chương trình, rất hữu ích cho các tác vụ nền cần chạy trong một thời gian dài và thành thạo việc sử dụng nó là một trong những kỹ năng cần thiết cho mọi quản trị viên và người dùng Linux, sau khi hiểu đúng và sử dụng công cụ này, chúng ta có thể sử dụng hiệu quả hơn các chức năng mạnh mẽ của hệ thống Linux, hoàn thành tốt hơn nhiệm vụ và tận hưởng sự tiện lợi do công nghệ mang lạiMột số trợ giúp, trong quá trình sử dụng, bạn có thể khám phá và hiểu thực tế hơn và đào sâu nhiều tính năng và cách sử dụng của nó, nếu bạn có thêm câu hỏi, chào mừng bạn đến giao tiếp và thảo luận, hiểu ngày càng sâu sắc hơn, tóm lại, thành thạo và sử dụng nohup sẽ mang lại sự tiện lợi và lợi ích lớn cho công việc của chúng tôi trong môi trường Linux, và hộ tống quản lý hệ thống của bạn