Skip to main content

[bash] Tắt máy tự động

7h, cu Hít muốn đi ăn cơm nhưng chương trình wget vẫn đang download dở đống file và chẳng biết bao giờ mới xong.
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ứ
while $(ps -ef | grep [w]get -q); do sleep 60; date >> /home/hvn/wget.log; done; shutdown -h now
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.

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 now
PS: cu Hít là một nhân vật hư cấu, không có thật. :3

Comments

  1. Tưởng đó là thằng cu Hung sở guyit tinh
    :v

    ReplyDelete

Post a Comment

Popular posts from this blog

Tài liệu và hướng dẫn học Python

Để tiết kiệm thời gian, tốt nhất là đi học PyMI Updated: 130617 Sau đây là các tài liệu khuyên dùng: Vì nhiều lý do, nên học python2.7 tại thời điểm hiện tại (giờ là tháng 6/2013 - muốn biết tại sao thì tự tìm hiểu) python 3.5+ (giờ là tháng 2/2017) Chuẩn bị: 1. biết bật tắt máy 2. biết cài python 3. tập gõ 10 ngón - gõ 2 ngón hay 1 ngón cũng không sao, nhưng 10 ngón là cách dễ nhất để gõ nhanh nhất. Tài liệu - Nên dùng tài liệu tại trang chủ của Python làm chính, tham khảo thêm các tài liệu khác tại http://www.familug.org/2016/12/free-ebook.html Căn bản, mới học 1.1 Python PyMI.vn https://pymi.vn/tutorial/ 1.2. Python offical tutorial kết hợp làm bài tập trên HackerRank  (đề bài bằng tiếng Anh, nhưng Google translate 1 lúc cũng ra vì có nhiều ví dụ mẫu đi kèm). Học viên của Pymi.vn có rất nhiều học viên đã tự học với Learn Python the hard way nhưng chưa thấy ai thành công cả. Hai link dưới nên đọc sau khi đã nắm được những phần cơ bản của ngôn ngữ pytho...

The PyMiers

New FAMILUG