Выполнение двух команд оболочки с использованием Python 3.6 в Ubuntu 18.02 - PullRequest
0 голосов
/ 19 апреля 2020

Чтобы запустить какое-то программное обеспечение, мне нужно: 1. Запустить сценарий, который будет выполнять удаленное управление лицензиями, 2. Выполнить сценарий оболочки для запуска программного обеспечения. Я могу сделать это, открыв окно командной строки в каталоге с помощью команды rlm, а затем введите ./rlm, чтобы запустить исполняемый файл Linux. Затем я могу go в каталог, содержащий скрипт оболочки, открыть терминал в этом месте и запустить ./myshell.sh. Это открывает GUI для моего программного обеспечения.

Я бы хотел выполнить эти шаги, используя один Python скрипт. Я попытался:

#change the working directory...    
os.chdir(r'/opt/mysoftwarelocation') 
#confirm location change...
print(os.getcwd() )
#run ./rlm...
os.system('./rlm')

В этот момент я могу видеть с терминала python, что rlm работает.

Затем я хотел бы запустить приведенный ниже код для запуска сценария оболочки ...

os.chdir(r'/opt/mysoftwarelocation/sumsubdirectory')
print(os.getcwd() )
os.system('./some.sh')

К сожалению, после того, как os.system ('./ rlm') завершает выполнение сценария, он останавливается и не будет выполнять дальше и без ошибок. Как заставить вторую часть моего скрипта запускаться в одном Python скрипте?

1 Ответ

0 голосов
/ 19 апреля 2020

Вы пытались запустить команду rlm в фоновом режиме? Модуль subprocess предоставляет хороший интерфейс для этого

...