Как получить выполненную команду процесса, который успешно завершил работу с PID?

У меня есть небольшой скрипт, abc.ksh, который принимает 3 параметра, например abc.ksh $ {a} $ {b} $ {c}

Я буду читать из конфигурационного файла с 'n' no of entires, и я буду выполнять abc.ksh 'n' раз параллельно, используя цикл for. Например

export pids=() for file in `cat config.txt` do a=`echo ${file}|awk -F"|" '{ print $1 }'` b=`echo ${file}|awk -F"|" '{ print $2 }'` c=`echo ${file}|awk -F"|" '{ print $3 }'` nohup ksh abc.ksh ${a} ${b} ${c} & pids+=("$!") done 

Затем мне нужно проверить завершение каждого задания (на основе pid) и выполнить следующий элемент действия для этого конкретного задания. Например

 export cnt=0 while[ $cnt -eq `wc -l config.txt`]; do export tmp=() for p in ${pids[*]}; do if[[ ! -d /proc/${p} ]]; then wait ${p} echo "Process completed with Process ID ${p}; exit code: $?" if [[ $? -eq 0 ]]; then cnt=`expr $cnt + 1` ***<Need to get the executed command " nohup ksh abc.ksh {a} {b} {c}" for the successfully completed PID>.*** else else echo "Process with Process ID ${p} Still running." tmp+=("${p}") done pids+=( ${tmp[*]}) done 

Как я могу это получить?

  • Что случилось с этим csh-файлом?
  • Использование таймаута в скрипте с одной командой, но несколько хостов
  • как проверить, установлены ли оба параметра в bash?
  • Есть ли способ разрешить все IP-адреса PIA VPN со сценарием?
  • Shell, howto извлекает буквы из строки $ line1 = «Проверьте это ... проверьте это!» И напечатайте по одному
  • поиск и увеличение значений между символом второй тильды и символом третьей тильды в каждой строке файла txt
  • Как объединить входы xarg с большим количеством аргументов?
  • Как отформатировать команду curl для специальной задачи?
  • One Solution collect form web for “Как получить выполненную команду процесса, который успешно завершил работу с PID?”

    Я не буду слишком много комментировать структуру или содержимое сценария, кроме того, что вы помещаете PID в массив pids последовательным образом.

    Вы ожидаете, что эти же PID будут одинаковыми.

    Это означает, что команда, которую вы ждете на шаге n цикла, будет использовать параметры в строке n config.txt .

    Единственное, что может вызвать проблемы, это ваши набеги в файловую систему /proc . Это не нужно. Вам также необходимо проверить условие на внешнем цикле (например, $cnt не будет равно количеству строк в файле config.txt на первой итерации).

    Interesting Posts

    Добавление текста в конец текстового файла

    Возможно ли дополнить весь вывод терминала определенным символом?

    Преобразование SVG в PDF в python

    Установка fbcon для использования буферного устройства с определенными кадрами

    Почему Gnus не забивает электронные письма на основе заголовков To: или Cc:

    Отображение всех сетевых интерфейсов в Solaris

    Не удалось войти в систему с помощью ключа SSH-RSA

    Linux Mint 15: как разделить Wi-Fi соединение с другими устройствами, подключенными к порту Ethernet?

    Сортировка блоков линий

    Почему «дата» печатает дату с неправильным порядком слов при локализации?

    Найти позицию совпадающего слова в строке в bash (не в позиции символа)

    Невозможно правильно установить тип раздела с помощью разделенного

    Захват вывода команды bash, анализ и сохранение в разные переменные bash

    извлекать строки из файла на основе последовательной пары шаблонов и выводить на отдельные файлы

    Изменение порта позволяет подключаться к

    Linux и Unix - лучшая ОС в мире.