Lệnh Nohup trong Linux là gì
2024-10-16 11:36:20
tin tức
tiyusaishi
Trong Linux, chúng ta thường sử dụng nhiều lệnh khác nhau để xử lý các tác vụ nền, một trong số đó là lệnh 'nohup' rất hữu ích. Lệnh này cho phép người dùng chạy lệnh tiếp tục chạy trong nền ngay cả sau khi bạn thoát khỏi thiết bị đầu cuối hoặc đóng phiên. Điều này rất hữu ích cho các tác vụ chạy dài hoặc các dịch vụ nền cần được tiếp tục chạy. Tiếp theo, chúng ta sẽ đi sâu vào lệnh 'nohup' trong Linux.
Phần 1: Lệnh nohup là gì?
'Nohup' là chữ viết tắt của 'nohangup' và có nghĩa là không cúp máy. Chức năng chính của lệnh này là cho phép lệnh đã thực thi tiếp tục chạy sau khi người dùng thoát khỏi thiết bị đầu cuối và không bị ảnh hưởng bởi việc treo thiết bị đầu cuối. Khi bạn bắt đầu một quá trình trong một thiết bị đầu cuối, quá trình này thường kết thúc khi thiết bị đầu cuối bị tắt. Mặt khác, sử dụng lệnh 'nohup' đảm bảo rằng quá trình sẽ tiếp tục chạy ngay cả khi thiết bị đầu cuối bắt đầu lệnh bị đóng.
2. Cách sử dụng cơ bản của lệnh nohup
Cú pháp cơ bản như sau:
''Ầm ầm
nohupCommand>/dev/null2>&1&
```
Ở đây:
'Command' là lệnh hoặc chương trình bạn muốn chạy.
'>/dev/null' chuyển hướng đầu ra của lệnh đến một thiết bị trống để bạn không nhận được bất kỳ thông tin đầu ra nào. Nếu bạn muốn xem đầu ra, bạn có thể chuyển hướng nó đến một tệp.
'2>&1' là chuyển hướng lỗi tiêu chuẩn (bộ mô tả tệp 2) sang đầu ra tiêu chuẩn (bộ mô tả tệp 1), có nghĩa là thông báo lỗi cũng sẽ được chuyển hướng đến tệp được chỉ định hoặc thiết bị trống. Nếu phần này không được bao gồm, thông báo lỗi có thể được hiển thị trên thiết bị đầu cuối hoặc được lưu vào tệp khác.
'&' cho biết lệnh đang chạy trong nền. Không có nó, bạn vẫn có thể chạy các lệnh ở nền trước, nhưng việc đóng thiết bị đầu cuối sẽ chấm dứt quá trình. Sử dụng '&' để đảm bảo rằng quá trình đang chạy liên tục trong nền.
Phần 3: Làm thế nào để sử dụng lệnh nohup?
Sử dụng lệnh 'nohup' rất đơn giản. Chỉ cần nhập lệnh vào thiết bị đầu cuối theo định dạng sau:
''Ầm ầm
nohupcommand_name&
```
Ví dụ: nếu bạn muốn chạy tập lệnh có tên 'myscript.sh' trong nền và bỏ qua tất cả đầu ra, bạn có thể thực hiện việc này:
''Ầm ầm
nohup./myscript.sh&
```
Sau khi thực hiện lệnh này, bạn sẽ thấy một tệp đầu ra có tên 'nohup.out' (trừ khi bạn chỉ định một tệp đầu ra khác). Tệp này chứa tất cả đầu ra của lệnh của bạn và thông báo lỗi. Quá trình tiếp tục chạy ngay cả khi bạn đóng thiết bị đầu cuối hoặc phiên kết thúc. Bạn có thể sử dụng lệnh 'ps' để kiểm tra trạng thái hiện tại của quá trình này. Nếu bạn muốn chấm dứt quá trình này, bạn có thể tìm PID (Process Identifier) của nó và chấm dứt nó bằng lệnh 'kill'. Tuy nhiên, thông thường, nhiệm vụ của bạn không cần phải chấm dứt thường xuyên. Mục đích ban đầu của việc sử dụng lệnh 'nohup' là giữ cho quá trình chạy cho đến khi nhiệm vụ được hoàn thành. Để ngăn chặn việc tắt máy thường xuyên, hãy cân nhắc thường xuyên theo dõi việc sử dụng sức khỏe và tài nguyên của các tác vụ của bạn để đảm bảo hoạt động ổn định. Bạn cũng có thể cân nhắc sử dụng một công cụ như 'màn hình' hoặc 'tmux' để quản lý các phiên nền và các vấn đề quản lý tác vụ. Nhìn chung, điều quan trọng là phải hiểu những gì xảy ra với chương trình của bạn khi nó đang chạy và đảm bảo mọi thứ được thiết lập chính xác, bao gồm định cấu hình phân bổ tài nguyên cần thiết và môi trường khởi động tác vụ như quản lý phụ thuộc để đảm bảo rằng chương trình chạy trơn tru và hoàn thành thành công các nhiệm vụ dự định. Bằng cách sử dụng lệnh 'nohup' và các công cụ liên quan khác một cách khôn ngoan, bạn có thể dễ dàng quản lý các tác vụ nền và tăng năng suất trên Linux.