Я использую pysftp
в Python 3.7 для подключения к Linux и запуска команд.
Я запускаю dask-worker
в фоновом режиме.
Вот базовая командадля запуска dask-worker
:
dask-worker my_domain:8786
Вот команда, которая отправляется в окно Linux: (вы можете видеть, что я обертываю ее с nohup
, чтобы позволить ей продолжать работать, а неповесить мой локальный процесс Python).
nohup dask-worker my_domain:8786 > /dev/null 2>&1 &
Выполнение этой команды прекрасно работает!Но у меня есть еще одна вещь, которую я хочу включить, и я не могу заставить ее работать с этой оболочкой nohup
.Может быть, вы можете сказать мне, почему.
Я хочу запустить dask-worker
из определенной папки, например:
cd /home/user/some_folder/ && dask-worker my_domain:8786
Это прекрасно работает, но когда я обертываю это в nohup
, он просто зависает - мой процесс на моей машине, выдающий команды для блоков Linux, не переходит к следующей команде.
Так что это не работает:
nohup cd /home/user/some_folder/ && dask-worker my_domain:8786 > /dev/null 2>&1 &
Делаете ли вызнаю, почему?Или как я могу заставить его вращаться dask-worker
в этом конкретном месте?Есть ли лучший способ сделать это, чем объединять команды Linux вместе.
Вот причина, по которой я так поступаю - потому что я не могу заставить команду pysftp.chdir()
реально работать.Он не меняет каталог на Linux-боксе, и, возможно, это потому, что это Centos7, idk, но предварительно упакованные команды для установки рабочего каталога меня не трогают.
Спасибо за внимание.