nohug.sh 461 B

123456789101112131415161718192021222324252627282930
  1. mkdir -p log
  2. if [ -f $1 ]
  3. then
  4. chmod +x $1
  5. else
  6. echo "${1} not exist"
  7. exit -1
  8. fi
  9. script_str=$(echo $1 | tr /. _)
  10. args_str=$(echo $(IFS="_"; echo "${*:2}") | tr /. _)
  11. echo $args_str
  12. if [ -z "$args_str" ]; then
  13. log_file=log/${script_str}.log
  14. else
  15. log_file=log/${script_str}.${args_str}.log
  16. fi
  17. time=$(date "+%Y%m%d-%H%M%S")
  18. if [ -f $log_file ]
  19. then
  20. cp $log_file ${log_file}.${time}
  21. fi
  22. nohup ./$1 ${*:2} > $log_file 2>&1&
  23. echo $log_file