2016-12-22 19 views
1

У меня есть довольно много времени для сценариев python для запуска ~ 3 часа или около того на моей машине. Я не хочу запускать их одновременно, так как это может привести к сбою моей машины. В одиночку у меня более чем достаточно памяти, но запуск 5 или около того может вызвать проблему. Я бегу их удаленно, так что я SSH на моем сервере и запускать их так:Запуск скрипта, когда процесс nohup завершается

nohup python my_script.py > my_output.txt & 

Таким образом, если мое соединение прерывается, я могу повторно установить соединение и мой результат прямо там. Я хочу запустить один и тот же скрипт python пару раз с разными аргументами командной строки последовательно, чтобы я мог запускать все, что мне нужно, без необходимости настраивать следующий один раз в несколько часов. Я мог бы вручную скопировать все аргументы в скрипт python и сделать это таким образом, но он кажется неэлегантным. Я не хочу возиться с моим скриптом python каждый раз, когда я это делаю. Есть ли какой-то слушатель, который я мог бы использовать для запуска следующего, когда один из них заканчивается?

ответ

0

Я предлагаю писать Баш скрипт, который запускает задания питона последовательно:

#!/bin/bash 

python3 my_script1.py > my_output1.txt 
python3 my_script2.py > my_output2.txt 

Тогда поЬир что:

nohup ./driver.sh & 
+0

Спасибо! Я пинаю себя за то, что не подумал об этом. – user5505266

0

Вы действительно хотите ознакомиться с такими утилитами, как tmux или screen, и просто создать сценарий.

+0

Я определенно буду. Я буду записывать их все в один скрипт bash для этого текущего проекта, но в будущем я начну использовать утилиты, такие как tmux. Спасибо, что указал мне в этом направлении. – user5505266