Advertisement
Guest User

Untitled

a guest
Jul 24th, 2011
393
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Bash 1.38 KB | None | 0 0
  1. #!/bin/sh
  2.  
  3. read cvmPid < /var/run/cvm.pid
  4.  
  5. if [[ -z "$cvmPid" ]]; then
  6.     echo "cvm isn't running..."
  7.     exit 2
  8. fi
  9.  
  10. if [[ ! -e "/var/run/progRem.pid" ]]; then
  11.     echo $$ > "/var/run/progRem.pid"
  12. else
  13.     echo "Progress bar remover is already running"
  14.     exit 1
  15. fi
  16.  
  17. trap "rm /var/run/progRem.pid ; exit" SIGINT SIGTERM
  18.  
  19. eraseProgress() {
  20.     usleep 750000
  21.     ## Print white space over progress bar
  22.     eips -n 0 38 "                                                  "
  23.     eips 0 39 "                                                  "
  24. }
  25.  
  26. bookCheck() {
  27.     ## Check if cvm has a open file descriptor for a file in /mnt/us/documents/
  28.     if [[ -n "$fd" -a -n "$book" ]]; then
  29.         if [[ "$(realpath /proc/$cvmPid/fd/$fd 2> /dev/null)" == "$book" ]]; then
  30.             if [[ "$bookType" != "BAD" ]]; then
  31.                 eraseProgress
  32.             fi
  33.         else
  34.             book=""
  35.             bookType=""
  36.             findBook
  37.         fi
  38.     else
  39.         findBook
  40.     fi
  41. }
  42.  
  43. findBook() {
  44.     fd="$(ls -l /proc/$cvmPid/fd/ | awk '/\/mnt\/us\/documents\// {print $9}')"
  45.     if [[ -n "$fd" ]]; then
  46.         book="$(realpath /proc/$cvmPid/fd/$fd 2> /dev/null)"
  47.         bookType="${book##*.}"
  48.         case $bookType in
  49.             [Mm][Oo][Bb][Ii]|[Pp][Dd][Ff]|[Pp][Rr][Cc]|[Aa][Zz][Ww]*|[Tt][Xx][Tt])
  50.                 eraseProgress
  51.             ;;
  52.             *)
  53.                 bookType="BAD"
  54.             ;;
  55.         esac
  56.     fi
  57. }
  58.  
  59. ## Wait for page turn
  60. while :; do
  61.     case "$(waitforkey)" in
  62.         191*|109*|104*|193*)
  63.             bookCheck
  64.         ;;
  65.     esac
  66.     usleep 100000
  67. done
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement