检查进程是否每20秒运行一次并在OSX上杀死他

时间:2017-03-02 11:06:08

标签: python bash macos storyboard xcode8

目前,每次编辑Storyboard时,我都会遇到Xcode和进程 IBDesignablesAgentCocoaTouch 冻结Xcode的问题。

所以,我想用bash或python脚本杀死这个进程,检查这个进程是否正在运行,每隔x秒。

我想我可以使用这个脚本,但是如何处理一个计时器(每次x秒检查?)

pid=$(ps -fe | grep 'IBDesignablesAgentCocoaTouch' | awk '{print $2}')
if [[ -n $pid ]]; then
    kill $pid
else
    echo "Does not exist"
fi

3 个答案:

答案 0 :(得分:1)

只需使用while循环,

while sleep 20; do
    pid=$(ps -fe | grep 'IBDesignablesAgentCocoaTouch' | awk '{print $2}')
    if [[ -n $pid ]]; then
        kill $pid
    else
        echo "Does not exist"
    fi
done

语法while sleep 20; do <code>类似于评论while true; do sleep 20 <code>中显示的语法,但保存了几次击键。

答案 1 :(得分:0)

使用此如果该过程名为IBDesignablesAgentCocoaTouch

kill $(pgrep -x IBDesignablesAgentCocoaTouch)

如果该过程存在,它将被杀死,如果不会发生任何事情。

pgrep将为您获得PID。

#!/bin/bash
while sleep 20; do
    kill $(pgrep IBDesignablesAgentCocoaTouch)
done

如果您不想使用睡眠,可以使用cron

答案 2 :(得分:0)

你试过让它睡20秒吗?


               // getService
               // getCharactistics
       }
       // etc.
}