如果正在运行,则重新启动dropbox-daemon

时间:2013-03-16 22:15:01

标签: linux bash ubuntu-12.04 dropbox

我有几个加密的驱动器,我在启动后用脚本手动挂载。其中一个驱动器托管我的Dropbox文件夹。

我需要在安装驱动器时检查dropbox是否正在运行,以便我可以停止Dropbox然后再次启动它以使其正确同步。

这是我到目前为止所做的,但如果它已经在运行,我就无法阻止它。

#!/bash/rc
if ~/dropbox.py running && [ $? -eq 1 ]; then
    ~/dropbox.py stop
else
    ~/dropbox.py start
fi

1 个答案:

答案 0 :(得分:7)

尝试

killall dropbox

这肯定会阻止它!默认情况下会发送SIGTERM,这是停止进程的正确方法。如果您的系统支持多个同时进行的用户登录,则此命令将终止所有用户的dropbox,或者至少它会尝试这样做。所以更优雅的方式是使用

killall -u myusername dropbox

如果您当前已由该用户登录:

killall -u "$(whoami)" dropbox

或者甚至可能

killall -u "$USER" dropbox

更新:好吧,好像有人喜欢这个答案。但是,有一件重要的事情要知道。只是向进程发送信号并不意味着它会立即终止(或者killall将等待它终止)。因此,当您认为它已经消失时,Dropbox可能会尝试安全终止(这可能需要一些时间才能完成)。只是要考虑的事情。