У меня есть скрипт python, который должен выполнять скрипт оболочки. Но он должен спать 30 секунд перед выполнением. Я хочу, чтобы скрипт спал в фоновом режиме, а затем выполнял его.
Команда оболочки должна быть такой: Если я наберу эту команду прямо в консоли, она сработает.
(sleep 30 && /root/bin/myscript.sh parameter1 parameter2) > /dev/null 2>&1
Теперь из python: (я разделил команды)
subprocess.call(['/bin/sleep', '30', '&'])
subprocess.call(['/root/bin/myscript.sh', str(dom), str(limit), '&'])
(str(dom) и str(limit) - два параметра)
Я получаю эту ошибку:
/bin/sleep: invalid time interval `&'
Почему в качестве параметра используется &
вместо 30?
time.sleep(secs)
? docs.python.org/2/library/time.html#time. спать - person PearsonArtPhoto   schedule 19.11.2013sleep
в фоновом режиме просто заставитmyscript.sh
работать параллельно, а не послеsleep
. Множественные вызовыsubprocess.call
не ставят в очередь процессы, которые они запускают. - person chepner   schedule 19.11.2013