Список обновлений Bash рабочих заданий с ps

Мне нужно параллельно запустить набор задач, требующих вычислительных ресурсов. То, что я пытался сделать, это поддерживать список pids, соответствующий выполняемым заданиям, и обновлять список запущенных заданий с помощью ps но у меня возникают проблемы с расширением команды.

В основном у меня есть список текущих заданий и вы хотите обновить ps . Этот список сохраняется как строка целых чисел (pids), разделенных пробелами. Ниже приведен пример того, что я хочу сделать

 sleep 10 & pid=$! running="$running $pid" sleep 20 & pid=$! running="$running $pid" sleep 30 & pid=$! running="$running $pid" sleep 40 & pid=$! running="$running $pid" echo "Initial list of jobs" echo "$running" sleep 20 echo "Jobs still running after 20 seconds" echo $(ps -p $running -o pid= | tr -s "\n" " ") 

но все, что я получаю, это

 Initial list of jobs 30815 30816 30817 30818 Jobs still running after 20 seconds error: process ID list syntax error ... bla bla bla ps usage... 

One Solution collect form web for “Список обновлений Bash рабочих заданий с ps”

замещать

  running="$running $pid" 

от

  running="$running,$pid" 

В первом случае ps вызывается с

 ps -p 12 34 45 -o pid= 

а во втором

 ps -p 12,34,45 -o pid= 
  • Использование top для просмотра процессов, выполняемых пользователем от имени sudo
  • Чувствительные данные в процессе замещения
  • возможно ли задержать Linux OOM Killer и запустить мой процесс?
  • Нужно пояснить размер резидентного размера / виртуальный размер
  • Безопасность - Runing Daemon, программа как root или пользователь vs sudo su
  • VIM: функция, которая проверяет, работает ли внешняя программа
  • Есть ли способ для сценария оболочки узнать, какая программа его выполнила?
  • Подождите, пока разветвленный процесс откроет окно
  • В чем преимущество использования pthreads в Linux?
  • Эквивалентная команда для `` time`` для использования памяти?
  • Хост-процесс для нескольких процессов?
  • Linux и Unix - лучшая ОС в мире.