Nohup & Watch Commands: Nghệ thuật giám sát nền và hoạt động liên tục
2024-10-28 12:21:59
tin tức
tiyusaishi
Trong hệ thống Linux, chúng ta thường cần thực hiện một số lệnh hoặc tập lệnh dài hạn, chẳng hạn như các tác vụ theo lịch trình, giám sát hệ thống, v.v. Trong những tình huống này, chúng ta có thể bắt gặp hai lệnh rất hữu ích: nohup và watch. Trong bài viết này, chúng tôi sẽ đi sâu vào cách sử dụng hai lệnh này và chỉ cho bạn cách kết hợp chúng để theo dõi nền và các tác vụ chạy liên tục.
1. Lệnh Nohup: để quá trình bỏ qua và cúp máy
Trong Linux, khi chúng ta mở một cửa sổ terminal và thực hiện một lệnh, lệnh sẽ chạy trong cửa sổ đó. Ngay sau khi cửa sổ terminal được đóng, quá trình chạy cũng thường bị chấm dứt. Tuy nhiên, đôi khi, các lệnh chúng ta cần thực hiện cần phải chạy liên tục trong nền, ngay cả khi cửa sổ terminal bị đóng. Tại thời điểm này, chúng ta có thể sử dụng lệnh nohup.
Lệnh nohup là chữ viết tắt của "nohangup" và có nghĩa là "không treo". Nó có thể bỏ qua tất cả các tín hiệu treo máy khi bắt đầu quá trình con. Bằng cách này, ngay cả khi cửa sổ terminal bị đóng hoặc phiên bị ngắt kết nối, tiến trình con vẫn sẽ chạy trong nền. Dưới đây là cách sử dụng nó:
''Ầm ầm
nohupcommand>/dev/null2>&1&
```
trong đó "lệnh" là lệnh được thực thi; ">/dev/null2>&1" là chuyển hướng đầu ra đến một thiết bị trống để tránh nhiễu thông tin đầu ra; "&" chỉ ra rằng lệnh được đưa vào nền để chạy. Sau khi thực hiện lệnh này, bạn sẽ nhận được một tệp đầu ra (nohup.out theo mặc định) chứa đầu ra của lệnh và thông báo lỗi.
2. Watch Command: Định kỳ thực hiện lệnh và quan sát kết quả
Lệnh đồng hồ cho phép chúng tôi định kỳ thực hiện một lệnh được chỉ định và quan sát sự thay đổi đầu ra của nó. Điều này rất hữu ích cho việc giám sát thời gian thực các quy trình, trạng thái hệ thống, v.v. Dưới đây là cách sử dụng nó:
''Ầm ầm
lệnh canh gác
```
"Lệnh" là lệnh bạn muốn thực hiện định kỳ. Theo mặc định, đồng hồ sẽ làm mới đầu ra hai giây một lần. Bạn có thể đặt khoảng thời gian làm mới với tùy chọn "-n", ví dụ: "watch-n1command" để làm mới đầu ra mỗi giây. Ngoài ra, đồng hồ còn hỗ trợ các tùy chọn và thông số khác, chẳng hạn như "-h" để hiển thị thông tin trợ giúp, "-d" để làm nổi bật các thay đổi, v.v.
3. Sử dụng Nohup và Watch cùng nhau để đạt được giám sát nền và các tác vụ vận hành liên tục
Đôi khi chúng ta cần thực hiện các lệnh không chỉ cần bỏ qua tín hiệu gác máy và tiếp tục chạy trong nền mà còn cần quan sát định kỳ những thay đổi trong đầu ra của nó. Lúc này, chúng ta có thể sử dụng kết hợp nohup và đồng hồ. Dưới đây là cách thực hiện:
Đầu tiên, chạy lệnh của bạn trong nền bằng nohup và lưu đầu ra vào một tệp (như nohupcommand>/dev/null2>&1& đã đề cập ở trên). Sau đó, sử dụng lệnh đồng hồ để theo dõi tệp đầu ra này. Vì đồng hồ theo dõi các thay đổi trong tệp theo mặc định và hiển thị sự khác biệt trong thời gian thực, bạn có thể quan sát đầu ra của lệnh trong thời gian thực. Chẳng hạn:
''Ầm ầm
nohupcommand>output.log2>&1&1&1&, chạy lệnh trong nền và lưu đầu ra vào tệp output.log
watchcatoutput.log sử dụng Watch để theo dõi các thay đổi trong tệp output.log và hiển thị sự khác biệt trong thời gian thực
```