我是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
答案 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