2017-04-24 22 views
0

를 사용하여 파이썬 스크립트를 실행 :이 질문에 언급, 나는이의 .conf를 만들어 내가 짧은 스크립트 <code>test_upstart.py</code>이 나는 ​​신출내기를 사용하여 서비스로 실행하려는 신출내기

import numpy as np 
def my_function(a,b): 
     return np.sqrt(a**2+b**2) 

print my_function(1,2) 

start on started sshd 
stop on runlevel [!2345] 
exec /home/ubuntu/test_upstart.py 
respawn 

그리고 나는 서비스를 트리거 : 내가 얻을

sudo start my-service 

:

my-service start/running, process 22705 

출력이 인쇄되지 않지만 매번 다른 값의 a와 b를 전달해야합니다.

답변

0

당신이 취하는 접근 방식은 너무 무거워서 지나치게 복잡합니다. ~/.bashrc에 스크립트를 호출하기위한 별칭을 만드십시오.

또한 나는 다른 값을 전달할 때마다 당신은 argparse 라이브러리를 사용할 필요가

ㄴ해야합니다. 나는 argparse에 전문가는 아니지만 단순히 당신은

import argparse 
import numpy as np 

parser = argparse.ArgumentParser(description='Process some integers.') 
parser.add_argument('-a', type=int, nargs=1) 
parser.add_argument('-b', type=int, nargs=1) 

args = parser.parse_args() 
a = args.a[0] 
b = args.b[0] 

def my_function(a,b): 
     return np.sqrt(a**2+b**2) 

print my_function(a,b) 

그런 /home/ubuntu/test_upstart.py -a 2 -b 3을 시도하거나 다른 입력과 함께 할 수있다.

+0

내가 가지고있는 문제는 내가 사용하고있는 실제 라이브러리가 몇 초 동안로드되는 것을 피하고 나는 그것을 피하고 한 번만로드한다는 것입니다. –