1.kills.sh
#!/bin/sh NAME=$1 # $1 运行时输入参数 为文件名称 if [ -z "$NAME" ]; then echo "STRING is empty" NAME="aa" fi echo $NAME ID=`ps -ef | grep "$NAME" | grep -v "$0" | grep -v "grep" | awk '{print $2}'` echo $ID echo "---------------" for id in $ID do kill -9 $id echo "killed $id" done echo "---------------"
2.run_py.sh
#!/bin/sh NAME=$1 # $1 运行时输入参数 为文件名称 NAME=${NAME%%.*} if [ -z "$NAME" ]; then echo "STRING is empty" NAME="aa" fi echo $NAME ID=`ps -ef | grep "$NAME" | grep -v "$0" | grep -v "grep" | awk '{print $2}'` echo $ID echo "---------------" for id in $ID do kill -9 $id echo "killed $id" done echo "---------------" sleep 1 current_dir=$(cd $(dirname $0); pwd) echo $current_dir if [ ! -d "$current_dir/logs" ]; then echo "$current_dir/logs does not exist" `mkdir $current_dir/logs` fi echo "---------------" echo "nohup /usr/bin/python3.6 $current_dir/$NAME.py > $current_dir/logs/$NAME.log 2>&1 &" echo "---------------" echo "tail -f $current_dir/logs/$NAME.log" `nohup /usr/bin/python3.6 $current_dir/$NAME.py > $current_dir/logs/$NAME.log 2>&1 &` echo "启动成功"
3.run_zc.py
# -*- coding: UTF-8 -*- import logging import os import platform import subprocess import time logging.basicConfig( level=logging.INFO, # 定义输出到文件的log级别,大于此级别的都被输出 format='%(asctime)s %(filename)s %(levelname)s : %(message)s', # 定义输出log的格式 datefmt='%Y-%m-%d %H:%M:%S', # 时间 filename=os.path.splitext(os.path.basename(__file__))[0], # log文件名 filemode='a', # 写入模式“w”或“a” ) console = logging.StreamHandler() console.setLevel(logging.INFO) formatter = logging.Formatter('%(asctime)s %(filename)s %(levelname)s : %(message)s') console.setFormatter(formatter) logging.getLogger('').addHandler(console) def run_main(): system = platform.system() path = os.path.abspath('.') if 'indo' in system: spider_path = '{}\yational_policy.py'.format(path) res = subprocess.call("python {}".format(spider_path), shell=True) else: spider_path = '{}/yational_policy.py'.format(path) res = subprocess.call("python3.6 {}".format(spider_path), shell=True) logger.info(spider_path) logger.info(res) if __name__ == '__main__': for i in range(100000000000): run_main() time.sleep(60) # nohup /usr/bin/python3.6 /home/pachong/yoyo/work/national_policy/national_policy/run_zc.py > /home/pachong/yoyo/work/national_policy/logs/run_zc.log 2>&1 &