До того, как Microsoft представила свою новую «подсистему Linux для Windows», CreateProcess()
была самой близкой вещью Windows к fork()
, но Windows требует указать исполняемый файл для запуска в этом процессе.
Процесс создания UNIX сильно отличается от Windows. Его вызов fork()
в основном дублирует текущий процесс почти в целом, каждый в своем собственном адресном пространстве, и продолжает запускать их отдельно. Хотя сами процессы разные, они все еще работают с одной и той же программой . Здесь здесь для хорошего обзора модели fork/exec
.
Going наоборот, эквивалент Windows CreateProcess()
представляет собой fork()/exec()
пару функций в UNIX.
Если вы портировали программное обеспечение на Windows, а вы не Смысл слоя перевода, Cygwin предоставил возможность, которую вы хотите, но это было довольно kludgey.
Конечно, с новой подсистемой Linux , ближайшей вещь Windows fork()
на самом деле fork()
: -)
Как насчет:
task = BashOperator(
task_id='switch2BMhome',
bash_command="cd /home/pchoix/bm3 && ./bm3.py runjob -p client1 -j ingestion",
dag=dag)