将参数从sh脚本(从etc / init.d / skeleton重制)传递给python

时间:2013-12-03 11:01:04

标签: python unix daemon init.d daemons

我有一个脚本,我需要他将参数传递给python程序。我接受了争论:

DAEMON_ARGS=""
start-stop-daemon --start --background --make-pidfile --pidfile $PIDFILE --startas $DAEMON    \
   $DAEMON_ARGS \                                                  
   || return 2

$ DAEMON是我的.py文件的路径。我需要传递一些像这样的数字参数

sudo /etc/init.d/sleepdaemon start 10

这个数字我必须传递给sleep.py。 sleep.py的代码:

#! env/bin python

import time
sleep(n)

如何使n = 10(从控制台传递的参数)?

2 个答案:

答案 0 :(得分:1)

首先,将参数添加到守护程序调用:

DAEMON_ARGS="start 10"

其次,在你的python程序中使用它们:

#! env/bin python

import sys
n = sys.argv[2]

import time
sleep(n)

查看here以获取有关Python中使用的命令行参数的更多详细信息。

答案 1 :(得分:0)

使用sys.argv

import time
import sys

time.sleep(int(sys.argv[11])

有关相关讨论,请参阅here