diff options
author | Yehuda Sadeh <yehuda@hq.newdream.net> | 2008-12-12 14:51:40 -0800 |
---|---|---|
committer | Yehuda Sadeh <yehuda@hq.newdream.net> | 2008-12-12 14:51:40 -0800 |
commit | ab733782e2e8d5feb96122a3509c7f36021242c9 (patch) | |
tree | 34dc3a2dfd0d78e17bde9143e37221080418afac /src/stop.sh | |
parent | 93cc10ef7261f711d9986a07d9de59d67109e1b1 (diff) | |
download | ceph-ab733782e2e8d5feb96122a3509c7f36021242c9.tar.gz |
vstart.sh/stop.sh can start and stop specific modules
Diffstat (limited to 'src/stop.sh')
-rwxr-xr-x | src/stop.sh | 46 |
1 files changed, 45 insertions, 1 deletions
diff --git a/src/stop.sh b/src/stop.sh index 585a241b897..fceb17f2a69 100755 --- a/src/stop.sh +++ b/src/stop.sh @@ -1,2 +1,46 @@ #!/bin/sh -killall crun cmon cmds cosd + +do_killall() { + pg=`pgrep -f crun.*$1` + [ "$pg" != "" ] && kill $pg + killall $1 +} + +usage="usage: $0 [all] [mon] [mds] [osd]\n" + +let stop_all=1 +let stop_mon=0 +let stop_mds=0 +let stop_osd=0 + +while [ $# -ge 1 ]; do + case $1 in + all ) + stop_all=1 + ;; + mon | cmon ) + stop_mon=1 + stop_all=0 + ;; + mds | cmds ) + stop_mds=1 + stop_all=0 + ;; + osd | cosd ) + stop_osd=1 + stop_all=0 + ;; + * ) + printf "$usage" + exit + esac + shift +done + +if [ $stop_all -eq 1 ]; then + killall crun cmon cmds cosd +else + [ $stop_mon -eq 1 ] && do_killall cmon + [ $stop_mds -eq 1 ] && do_killall cmds + [ $stop_osd -eq 1 ] && do_killall cosd +fi |