Header Ads Widget

Sử dụng nohup trong Linux

Noups (no hangup) là lệnh gửi đến một process khi shell được liên kết tới nó bị chấm dứt khi logout tất cả các chương trình và process đang chạy sẽ bị treo hoặc bị dừng lại. Nếu muốn tiếp tục chạy các process thậm chí cả sau khi đã logout hoặc ngắt kết nối khỏi shell hiện tại, khi đó sử dụng lệnh nohup.


Cú pháp lệnh nohup

Kiểm tra phiên bản
nohup --version

Chạy process sử dụng lệnh nohup

Nếu muốn giữ cho process chạy liên tục cả khi đã thoát khỏi shell, sử dụng lệnh nohup với lệnh chạy process đi kèm:
nohup COMMAND
Khi chạy lệnh trên, tất cả output cùng với thông báo lỗi sẽ được thêm vào file nohup.out trong thư mục home hoặc trong thư mục hiện tại đang đứng để chạy lệnh trên, nếu shell bị đóng hoặc logout ra khỏi hệ thống, lệnh được thực thi ở trên sẽ không bị chấm dứt.

Chuyển hướng output tới file khác

Mặc định, ouput của lệnh nohup được thêm vào file nohup.out. Để chuyển hướng output này tới file khác, sử dụng toán tử chuyển hướng “>” theo sau bởi tên file cụ thể. 
Ví dụ, bạn sử dụng lệnh dưới đây để lưu output của lệnh nohup tới một file mới có tên “result.sh”.
sudo nohup ./vu.sh > result.sh &

Chạy ngầm process sử dụng noup

Để chạy và đặt process vào chế độ chạy ngầm, sử dụng lệnh
nohup COMMAND &
Ký tự & sẽ chạy lệnh ở chế độ ngầm

Chạy ngầm nhiều process sử dụng nohup

Bạn có thể chạy nhiều lệnh trong chế độ chạy ngầm sử dụng lệnh nohup. Trong các lệnh dưới đây, mkdir, ping và ls được thực thi trong chế độ chạy ngầm bằng cách sử dung lẹnh nohup.
nohup bash -c 'mkdir files && ping -c 1 facebook.com && ls'> fb_log.txt

Kết thúc process đang chạy ngầm

Sử dụng lệnh kill như sau
kill -9 PID
Tìm các nohub đang chạy ngầm
ps -ef | grep TEN_SERVICE
TEN_SERVICE: là tên dịch vụ chạy ngầm, VD: php-fpm, node,...

Nhận xét