30 Sep 2010

CryoPID

Khi làm việc trên hệ thống, ta thường dùng screen hay tmux để duy trì shell session trong trường hợp network xảy ra sự cố, hoặc duy trì nhiều session chỉ với một phiên kết nối ssh.
Tuy nhiên, trong trường hợp nào đó mà
    - có thể command được sử dụng bên ngoài screen hoặc tmux session, hoặc người sử dụng command không nghĩ rằng phải mất một khoảng thời gian lâu hơn dự kiến để tiến trình thực hiện xong.
    - screen và tmux không duy trì được session sau khi hệ thống reboot.
    - screen và tmux chỉ làm việc trên hệ thống cục bộ, không thể tái sử dụng session đã tạo trên hệ thống khác.

Bernard B đã phát triển cryoPID để khắc phục những nhược điểm nói trên. Khi một tiến trình đang thực hiện, mà vì một sự cố nào đó ta cần stop tiến trình này để reboot hệ thống, hoặc khắc phục một lỗi critical nào đó, hoặc chỉ dừng tiến trình để tái sử dụng bên trong screen session, hoặc dùng tiến trình dang dở trên một hệ thống khác, cryoPID có thể làm đóng băng tiến trình đang thực hiện thành một image file có thể tự động extract và execute mà không cần chương trình trợ giúp.

Ví dụ, khi đang thực hiện lênh cp một file có dung lượng khá lớn, chỉ cần dùng ps và grep tìm PID của cp, sau đó:
$ freeze image_name PID
sau khi reboot, chỉ cần run ./image_name là tiến trình được khôi phục với state như cũ, tiện lợi nhỉ?

Tuy nhiên cryoPID còn có nhiều nhược điểm, và nhiều tính năng cần được nâng cấp, mà tác giả có nêu rõ trên cryoPID website.

Bản thân mình cảm thấy rất thích công cụ này ngay từ ý tưởng của nó!
Để cài đặt cryoPID hệ thống cần có gcc, g++ và zlibc.

No comments:

Disqus