首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用upstart运行python脚本

使用upstart运行python脚本
EN

Stack Overflow用户
提问于 2017-04-24 23:51:50
回答 1查看 226关注 0票数 0

我有一个简短的脚本test_upstart.py,我想使用upstart将其作为服务运行:

代码语言:javascript
复制
import numpy as np
def my_function(a,b):
        return np.sqrt(a**2+b**2)

print my_function(1,2)

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

代码语言:javascript
复制
start on started sshd
stop on runlevel [!2345]
exec /home/ubuntu/test_upstart.py
respawn

我触发该服务的方式如下:

代码语言:javascript
复制
sudo start my-service

我得到了:

代码语言:javascript
复制
my-service start/running, process 22705

但是我看不到输出,而且我每次都需要传递不同的a和b的值。

EN

回答 1

Stack Overflow用户

发布于 2017-04-25 00:12:25

你正在采取的方法是如此笨拙和过于复杂。只需在~/.bashrc中创建一个别名来调用脚本即可。

还需要每次传递不同的a和b值

您需要使用argparse库。我不是argparse方面的专家,但你可以

代码语言:javascript
复制
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
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43592616

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档