在docker cmd中循环while循环

时间:2015-08-23 18:25:56

标签: bash google-chrome cmd docker

我正在尝试在docker容器中运行google chrome。我已经能够成功地做到这一点,但是有些情况下铬不能在某些容器上运行(大量创建容器)。

所以我希望运行一个while循环,直到发现chrome进程正在运行。我尝试过以下但有错误,例如“bash:[if:command not found”

    var chrome_command = 'google-chrome --user-data-dir=/home/ubuntu/chrome-user-dir';
var cmd = ''; cmd += 'Xvfb :99 & '; cmd += 'export DISPLAY=:99 & '; cmd += 'x11vnc -rfbport 6001 -display :99 -bg -q & '; cmd += 'while [if ps aux | grep "google-chrome"|grep -v grep > /dev/null]; do ' + chrome_command + '; sleep 1 ; done';

有人能指出我哪里错了!谢谢!

1 个答案:

答案 0 :(得分:0)

最后一行应该是:

    cmd += 'while ! ps aux | grep -v grep | grep -q chrome; do ' + chrome_command + '; sleep 1 ; done';
    最后-q
  • grep足以查看输入中是否有匹配的行。
  • 使用!取消命令列表的结果。
  • 似乎google-chrome似乎没有出现在ps aux