Khi chúng ta muốn thực thi một tập lệnh shell trong nền và tiếp tục chạy ngay cả sau khi thoát khỏi thiết bị đầu cuối, chúng ta thường sử dụng lệnh nohup. Bài viết này mô tả cách sử dụng lệnh nohup để chạy tệp sh. 1. Hiểu lệnh nohup Trước hết, chúng ta cần hiểu nohup là gì. Nohup là chữ viết tắt của "nohangup" và nó được sử dụng để chạy các lệnh hoặc tập lệnh trong nền sẽ tiếp tục chạy ngay cả khi bạn thoát khỏi thiết bị đầu cuối. Điều này rất hữu ích cho các quy trình hoặc quy trình chạy dài mà chúng tôi muốn bắt đầu và giám sát từ xa. 2. Cách chạy tệp sh Chạy tệp sh tương đối đơn giản trên hệ thống Linux hoặc Unix. Chỉ cần nhập lệnh sau vào thiết bị đầu cuối: ''Ầm ầm .sh tên tệp SH ``` Trong đó "filename .sh" là tên tập lệnh shell của bạn. Nếu bạn muốn đảm bảo rằng tập lệnh đang chạy trong nền, bạn có thể sử dụng lệnh nohup. Dưới đây là các bước về cách sử dụng Nohup để chạy tệp SH: 3. Sử dụng nohup để chạy file sh Bước 1: Mở Terminal. Nhập lệnh sau vào thiết bị đầu cuối để chạy tệp sh của bạn: ''Ầm ầm Nohupsh filename.sh& Biểu tượng "&" ở đây chỉ ra rằng lệnh được chạy trong nền. Bằng cách này, ngay cả khi bạn đóng cửa sổ terminal, lệnh sẽ tiếp tục chạy. Lưu ý rằng tên tệp ở đây là tên tệp sh thực tế của bạn, chẳng hạn như myscript.sh, v.v. Sau khi thực hiện lệnh này, nohup sẽ tạo một tệp có tên nohup.out để lưu trữ tất cả thông tin đầu ra (trừ khi bạn chỉ định một tệp đầu ra khác). Vì vậy, nếu tập lệnh của bạn có bất kỳ đầu ra nào (chẳng hạn như câu lệnh in), chúng sẽ được hiển thị trong tệp nohup.out. Bạn có thể xem nội dung của tệp này bằng lệnh sau: ''Ầm ầm catnohup.out Bước 2: Đảm bảo tập lệnh của bạn có quyền thực thi. Bạn có thể sử dụng lệnh chmod để cấp quyền: ''bashchmod+x file name.sh'''Bước 3: Kiểm tra thông tin của các tiến trình đang chạy trong nềnBạn có thể sử dụng lệnh jobs hoặc ps để xem danh sách các tiến trình đang chạy trong nền: sử dụng lệnh jobs để chỉ xem danh sách các tiến trình đang chạy trong nền trong các quy trình được mở bởi terminal, trong khi lệnh ps có thể xem tất cả các tiến trình đang chạy. Nếu bạn muốn xem chi tiết của một quy trình cụ thể, bạn có thể sử dụng lệnh pgrep với ID tiến trình để tìm nó. Ví dụ: bạn có thể chạy lệnh pgrep để tìm ID tiến trình (PID) của tập lệnh shell đang chạy, sau đó sử dụng PID để truy vấn chi tiết của quy trình. 4. Tóm tắtThông qua nghiên cứu của bài viết này, bạn nên nắm vững cách sử dụng lệnh nohup để chạy các tệp sh trong nền. Điều này rất hữu ích cho các tập lệnh chạy dài, đặc biệt là khi bạn cần rời khỏi máy tính hoặc ngắt kết nối mạng. Hãy nhớ rằng các tiến trình chạy trong nền cũng yêu cầu đủ tài nguyên hệ thống để chạy, vì vậy hãy đảm bảo hệ thống của bạn có đủ tài nguyên để xử lý nhu cầu chạy của các quy trình này. Đồng thời, bạn cũng nên chú ý đến việc quản lý thông tin đầu ra tập lệnh của mình để tránh vấn đề không đủ dung lượng đĩa cứng do lượng thông tin đầu ra lớn. Đối với các kịch bản ứng dụng lớn hơn và kịch bản O&M hệ thống, điều quan trọng là phải học cách quản lý đúng các quy trình nền để cải thiện hiệu quả công việc và đảm bảo sự ổn định của hệ thống. Cuối cùng, mọi người nên thận trọng khi sử dụng bất kỳ công cụ dòng lệnh nào để tránh những rủi ro và sai lầm tiềm ẩn. Qua quá trình nghiên cứu và thực hành bài viết này, tôi hy vọng nó sẽ hữu ích với các bạn, và mong rằng các bạn có thể linh hoạt vận dụng những kỹ năng này để giải quyết các vấn đề thực tiễn và nâng cao hiệu quả công việc trong công việc và học tập thực tế.