Add idlemail.py which emulates IDLE IMAP for offlineimap
[dotfiles/scripts.git] / start-daemon.sh
1 #!/bin/sh
2
3 set -efu
4
5 ionice_class=
6 ionice_priority=
7 nice=
8
9 while getopts c:p:n: f; do
10     case $f in
11     c) ionice_class=$OPTARG;;
12     p) ionice_priority=$OPTARG;;
13     n) nice=$OPTARG;;
14     *) exit 2;;
15     esac
16 done
17 shift $((OPTIND - 1))
18
19 cmd=$*
20 io=
21
22 if pgrep -u "$(id -u)" -xf -- "$cmd" >/dev/null 2>&1; then
23     exit 0
24 fi
25
26 if type ionice >/dev/null 2>&1; then
27     [ -n "$ionice_class" ]    && { io=1; cmd="-c $ionice_class $cmd"; }
28     [ -n "$ionice_priority" ] && { io=1; cmd="-n $ionice_priority $cmd"; }
29     [ -n "$io" ] && cmd="ionice $cmd"
30 fi
31
32 if type nice >/dev/null 2>&1; then
33     [ -n "$nice" ] && cmd="nice -n $nice $cmd"
34 fi
35
36 exec nohup $cmd >/dev/null 2>&1 &