В сценарии оболочки, как создать сценарий, которые ожидают и проверяют, конкретное выполнение программы или не при выполнении затем ожидает пока мертвые после смерти программы, что сценарий покажет сообщение, что теперь программа мертва, это - все, Пример: Я играю в игру, теперь я хочу создать сценарий, который находит, что моя игра работает или не, если выполнение затем ожидает, непока игра не должна быть остановлена, как только игра остановилась, тот сценарий показывает мне сообщение, что "теперь Ваша игра мертва".
Если я создаю использование сценария Bash
$ cat > blah
#!/bin/bash
read
ls
Сделайте это исполняемым использованием chmod
chmod +x blah
Затем выполните его
$ bash blah
-- script has stopped as i type this, it will continue on enter
bionic focal-desktop-amd64.iso kde_neon zsync_disco.sh
blah focal-desktop-amd64.iso.zs-old qa_query.py zsync_eoan.sh
eoan-desktop-amd64.iso focal-desktop-amd64.iso.zsync qatracker.py zsync_focal.sh
eoan-desktop-amd64.iso.zsync focal-desktop-amd64.iso.zsync.old siduction-patience-lxqt-amd64-latest.iso
Выполнения сценария и паузы, ожидающие read
завершаться. Я ввожу текст "-сценарий остановился, поскольку я ввожу это, он продвинется, вводят" и нажимают Enter.
Затем и только затем (когда read
завершился), делает ls
команда выполняется.
Я мог добавить "и" в конец read
строка, таким образом, это работало в фоновом режиме и таким образом ls
продолжился бы без ожидания.. но то, что Вы хотите, является на самом деле значением по умолчанию.
Можно работать ps
в цикле до Ваших прогонов программы. Когда это заканчивается, цикл с условием продолжения существует.
#!/bin/bash
appName="appname"
appCount=$(ps ax | grep $appName | grep -v grep | wc -l)
while [ "$appCount" -gt "0" ]
do
sleep 1
appCount=$(ps ax | grep $appName | grep -v grep | wc -l)
done
zenity --info --title="End" --text="Now your game is dead."
Поставьте имя своего приложения вместо appname
. После done
поместите строки, Вы хотите должными быть отобразить сообщение. Я использовал zenity для диалогового окна уведомления. Можно использовать что-то еще как echo
если Вы хотите отобразить сообщение в окне терминала.