Я шукаю скрипт bash, який перевіряє, чи запущений процес інсталятора, і чекає / призупиняє, якщо він потім продовжує працювати, коли процес більше не виконується.
Ось що я досі маю:
#!/bin/bash
PROCESS="Installer";
PID=$(ps -A |grep -m1 "$PROCESS" | awk '{print $1}');
while s=`ps -p $PID -o s=` && [[ "$s" && "$s" !='Z' ]]; do
echo "$PROCESS is Running, waiting for it to close"
sleep 1
done
echo "$PROCESS is not Running";
SCRIPT HERE
2
Ми не є службою написання сценаріїв. Що ви спробували?
—
nohillside
Дякую. Де це не працює, як очікувалося?
—
nohillside
Подібно до вашого іншого питання, ви повинні бути впевнені, що шукаєте правильний рядок. Тут ви шукаєте "інсталятор", що означає будь-який процес, який включає цей рядок (наприклад, "прогрес інсталятора".
—
Scot
І щоб не покладатися на процес, що з'являється перед
—
nohillside
grep
Я б використав pgrep
замість цього (який безпосередньо повертає PID)