Tìm hiểu thêm về các lệnh Linux: sự kết hợp của "nohup", "screen" và "disown".
2024-10-28 16:12:56
tin tức
tiyusaishi
Trong bài viết này, chúng ta sẽ xem xét kỹ hơn ba lệnh Linux thường được sử dụng, "nohup", "screen" và "disown" và khám phá việc sử dụng chúng trong các kết hợp cụ thể: bằng cách kết hợp việc sử dụng các công cụ này, hiểu cách chúng có thể được sử dụng để giữ cho các lệnh chạy mà không bị ảnh hưởng bởi đăng xuất của người dùng. Bây giờ chúng ta hãy đi sâu vào những gì mỗi lệnh làm và cách sử dụng nó, sau đó giải thích chi tiết ứng dụng thực tế của sự kết hợp này.
1. Về thứ tự nohup
Mục đích chính của lệnh "nohup" là làm cho các lệnh khác tiếp tục chạy sau khi người dùng đăng xuất. Điều này có nghĩa là người dùng có thể đăng nhập, thực hiện một tác vụ và giữ cho nó chạy mà không bị ảnh hưởng bởi việc thoát, cho phép thực thi nền thực sự. "Nohup" khởi tạo một lệnh được chỉ định để thực thi trong nền và bỏ qua tất cả các tín hiệu gác máy, thường được sử dụng để tiếp tục quá trình ngay cả sau khi thiết bị đầu cuối đăng xuất. Nó được sử dụng nhiều trong công việc của quản trị viên hệ thống Linux và người dùng. Làm thế nào để sử dụng nó? "Tên lệnh Nohup" sẽ ngắt kết nối khi bạn thực hiện một lệnh trong nền mà không bị đăng xuất. Đồng thời, lệnh "nohup" cũng sẽ tạo một tệp có tên nohup.out để lưu trữ thông tin đầu ra. Đây là một công cụ rất hữu ích, đặc biệt là khi xử lý các tác vụ nền chạy dài. Ví dụ: nohupsome_long_running_command cho phép bạn bắt đầu chạy một số chương trình hoặc tập lệnh có thể mất hàng giờ để hoàn thành, ngay cả khi bạn thoát khỏi phiên đầu cuối. 2. Về lệnh màn hình: Màn hình là một phần mềm ghép kênh thiết bị đầu cuối hoặc chương trình quản lý thiết bị đầu cuối. Khác với các thao tác tác vụ nối tiếp thông thường thông qua các thiết bị đầu cuối, "màn hình" có thể tạo một hoặc nhiều cửa sổ hoặc phiên con độc lập để chạy các tác vụ hoạt động một cách độc lập. "Màn hình" chủ yếu giải quyết vấn đề phải chạy chương trình từ đầu sau khi mất điện hệ thống hoặc gián đoạn bất ngờ khác. "Màn hình" tạo ra một môi trường phiên mới để chạy chương trình, ngay cả khi thiết bị đầu cuối bị đóng hoặc kết nối bị mất, nó sẽ không ảnh hưởng đến môi trường phiên đang chạy. Người dùng có thể bắt đầu môi trường phiên thông qua lệnh "màn hình" để hoạt động tác vụ, thông qua các hoạt động liên quan có thể đạt được quản lý tác vụ chéo phiên và truyền thông tin và các hoạt động khác, người dùng thậm chí có thể xác định trước các tham số đang chạy của tập lệnh đang chạy, thông tin phiên đầu cuối cần được mở và dịch vụ kết nối để đạt được quản lý và cấu hình hàng loạt chương trình mạnh mẽ bằng cách định cấu hình tập lệnh. "Screen-Sscreen_sessionsome_long_running_command" có thể bắt đầu một phiên màn hình mới để chạy các lệnh chạy dài. Khi bạn khởi chạy lệnh này, bạn có thể làm bất cứ điều gì trong phiên này mà không phải lo lắng về việc thiết bị đầu cuối của bạn bị tắt hoặc ngắt kết nối. 3. Giới thiệu về lệnh disownKhi chúng ta bắt đầu một tiến trình nền với nohup, chúng ta có thể sử dụng lệnh disown để kiểm soát quá trình để không còn nhận được tín hiệu điều khiển của tiến trình cha. Lệnh "disown" được sử dụng để loại bỏ kết nối giữa công việc trong phiên shell hiện tại và tiến trình cha mà tác vụ thuộc về. Sau khi người dùng ngắt kết nối khỏi thiết bị đầu cuối từ xa hoặc điểm cuối thoát, không có tín hiệu gác máy nào được gửi đến quy trình nền trước. Lệnh "disown-h" có thể giúp bạn xem trạng thái hiện tại của tất cả các tiến trình và các quy trình cha của chúng. "disown-hPID" có thể loại bỏ mối quan hệ tiến trình cha của một tiến trình với một PID cụ thể và ngăn chặn quá trình bị chấm dứt do sự thoát khỏi quá trình cha. Sự kết hợp của "nohupsome_long_running_command&disown-h%" đảm bảo rằng các quy trình nền của bạn không bị ảnh hưởng bởi lối ra của thiết bị đầu cuối. Nhìn chung, sự kết hợp mạnh mẽ của ba lệnh "nohup", "screen" và "disown" có thể cải thiện đáng kể hiệu quả và tránh những rắc rối không cần thiết khi xử lý các quy trình đang chạy trong một thời gian dài trong nền. Lệnh "nohup" đảm bảo rằng quá trình tiếp tục chạy ngay cả khi thiết bị đầu cuối bị đóng hoặc ngắt kết nối. Lệnh "màn hình" cung cấp khả năng quản lý phiên mạnh mẽ, cho phép bạn thực thi các chương trình trong môi trường phiên độc lập mà không bị ảnh hưởng bởi sự gián đoạn hệ thống bất ngờ. Lệnh "từ chối" giúp chúng tôi quản lý và duy trì sức khỏe của các quy trình nền của chúng tôi, đảm bảo rằng chúng không bị ảnh hưởng bởi sự thoát ra của quy trình cha. Kết hợp việc sử dụng ba lệnh này, chúng ta có thể dễ dàng chạy và quản lý các quy trình dài hạn hoặc các tác vụ tập lệnh trong nền. "Nohupscreendisown", bằng cách này, không chỉ cho phép các chương trình của chúng tôi được chạy linh hoạt và quản lý hiệu quả mà còn cải thiện đáng kể hiệu quả công việc của chúng tôi.