7h 01, cu Hít định gõ sudo shutdown -h 120 để máy sẽ tắt sau 120 phút, nhưng lúc ấy nhỡ chưa xong thì sao?!!!
7h 02, nghĩ...
7h 03, một ý tưởng vô cùng bình thường mà không tầm thường đã nảy ra, cu Hít thò tay vào test
Ý tưởng rằng, khi wget chạy, nó sẽ xuất hiện khi grep output của lệnh `ps`. Nếu nó không còn ở đó nữa nghĩa là đã xong, lúc ấy thì tắt máy.
Nếu chuyển đoạn trên sang bash sẽ là: lặp cho đến khi không còn thấy wget trong output của lệnh `ps`, rồi shutdown.
7h 04, mọi thứ đã sẵn sàng, gõ thôi:
sudo -s # phải thành root thì mới shutdown được chứcâu lệnh trên tạo 1 vòng lặp vô hạn cho đến khi không còn tìm thấy wget trong output của lệnh `ps -ef`. Sau mỗi lần kiểm ra điều kiện ấy thì chờ 60 giây rồi kiểm tra lại, ghi thời gian kiểm tra vào 1 file text để biết khi nào xong, tắt máy khi vòng lặp while kết thúc.
while $(ps -ef | grep [w]get -q); do sleep 60; date >> /home/hvn/wget.log; done; shutdown -h now
grep [w]get # giúp chỉ tìm dòng lệnh chứa từ khóa wget mà không tính đến lệnh grep vừa chạy.
grep -q # trả về 0 nếu tìm thấy từ khóa, trả về 1 nếu không tìm thấy
7h 05, có lẽ khỏi cần ghi thời gian ra file vì khi máy tắt chính là lúc download xong (sai lệch 1 phút), có thể kiểm tra bằng lệnh `last`
while $(ps -ef | grep [w]get -q); do sleep 60; done; shutdown -h nowPS: cu Hít là một nhân vật hư cấu, không có thật. :3
Tưởng đó là thằng cu Hung sở guyit tinh
ReplyDelete:v