Sometimes Gnome-shell freezes with background processes still running. To restart it "nicely" you can call it's internal restart function over dbus with following command:
dbus-send --type=method_call --print-reply --dest=org.gnome.Shell /org/gnome/Shell \
org.gnome.Shell.Eval string:'global.reexec_self()'