2017-04-24 48 views
0

我有一个简短的脚本test_upstart.py,我想用暴发户来运行它作为服务运行一个python脚本:使用暴发户

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

print my_function(1,2) 

正如在这个问题提,我创建了一个的.conf

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文库B。我与​​不是专家,但只是你可以

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

我遇到的问题是,我正在使用的实际库需要几秒钟才能加载,我想避免这种情况并只加载一次。 –