1

shellPythonスクリプトを開始および停止するための簡単なスクリプトを作成しようとしています。これを行う理由は、プロセスを監視するために呼び出されるツールを使用したいためmonitであり、このスクリプトが実行されていることを確認する必要もあります。だからここに私のpythonスクリプトがあります:

test.py

 import time
 
 for i in range(100):
     time.sleep(1)
     print 'a'*i

ここに私のシェルスクリプトがあります:

wrapper_test.sh

 #! /bin/bash
 
 PIDFILE=/home/jhon/workspace/producer/wrapper_test.pid
 
 case $1 in
   start)
     echo $$ > ${PIDFILE};
     exec /usr/bin/python /home/jhon/workspace/producer/test.py 1>&2 output
     ;;
   stop)
     kill `cat ${PIDFILE}`
     ;;
   *)
     echo "Usage: wrapper {start|stop}" 
     ;;
 
 esac
 exit 0

私が望んでいる結果はtail -f output、私がそうしたとしましょう。そうすれば、スタッフがファイルに来るのを見るでしょう。私も1>&2ちょうどに変更しようとしました>が、これはファイルを作成し、一度押すCtrl + Cとすべてのデータがファイルに追加されます。

でも今は何も見えない

4

2 に答える 2

3

に置き換え1>&2 outputます> output 2>&1:

 exec /usr/bin/python /home/jhon/workspace/producer/test.py > output 2>&1
于 2013-08-23T15:34:13.673 に答える