Want more features on Pastebin? Sign Up, it's FREE!
Guest

Untitled

By: a guest on Jul 24th, 2011  |  syntax: Bash  |  size: 1.38 KB  |  views: 198  |  expires: Never
download  |  raw  |  embed  |  report abuse  |  print
Text below is selected. Please press Ctrl+C to copy to your clipboard. (⌘+C on Mac)
  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
clone this paste RAW Paste Data