运行python脚本的Bash脚本

时间:2016-09-03 02:59:57

标签: python linux bash shell

我是bash脚本的新手,并从stackoverflow中找到了一个代码。我将它与我的脚本合并,它不会运行python。当我试图回声时,它总是会好起来的。#34;当我试图运行ps -ef | grep runserver*时,这总是出现并导致python脚本无法运行。

root      1133  0.0  0.4  11988  2112 pts/0    S+   02:58   0:00 grep --color=auto runserver.py

这是我的代码: -

#!/bin/sh
SERVICE='runserver*'

if ps ax | grep -v grep | grep $SERVICE > /dev/null
then
    python /var/www/html/rest/runserver.py
    python /var/www/html/rest2/runserver.py
else
    echo "Good"
fi

3 个答案:

答案 0 :(得分:0)

如果您对python更熟悉,请尝试以下方法:

#!/usr/bin/python

import os
import sys

process = os.popen("ps aux | grep -v grep | grep WHATEVER").read().splitlines()

if len(process) == 2:
  print "WHATEVER is running - nothing to do"
else:
  os.system("WHATEVER &")

答案 1 :(得分:0)

以下代码是您想要的吗?

#!/bin/sh
SERVER='runserver*'
CC=`ps ax|grep -v grep|grep "$SERVER"`
if [ "$CC" = "" ]; then
    python /var/www/html/rest/runserver.py
    python /var/www/html/rest2/runserver.py
else
    echo "good"
fi

答案 2 :(得分:0)

@NickyMan,问题与shell脚本中的逻辑有关。您的程序找不到 runserver ,并始终说" Good"。 在此代码中,如果您找不到服务器,则执行 runserver

#!/bin/sh
SERVICE='runserver*'

if ps ax | grep -v grep | grep $SERVICE > /dev/null
then
    echo "Good"
else
    python /var/www/html/rest/runserver.py
    python /var/www/html/rest2/runserver.py
fi