$1 &
echo $!
има ли друг начин да стартирате команда във фонов режим и да върнете незабавно пика?
Така че, когато стартирам bash run.sh "python worker.py"
това ще ми даде пика на стартираната работа.
Аз използвам парамико, библиотека на питън, която не работи python worker.py &
, така че искам да създам баш скрипт, който ще направи това за мен на отдалечения сървър.
Отговори:
1 за отговор № 1Тъй като използвате баш, можете просто да получите списъка с фона на процесите jobs
, и го инструктирайте да върне PID чрез -l
флаг. Да цитираш man bash
:
jobs [-lnprs] [ jobspec ... ] jobs -x command [ args ... ] The first form lists the active jobs. The options have the following meanings: -l List process IDs in addition to the normal information.
Така че във вашия случай, нещо като
jobs -l | grep "worker.py" | awk "{print $2}"
вероятно ще ви даде това, което искате.