Как подсказать выполнение пользовательского скрипта после завершения задачи

Я создал скрипт с именем checkrest и поместил его с правами на выполнение в каталог /bin. Сценарий проверяет, требуется ли перезапуск приложением, и если да, то проверяет, какое приложение (я). Я нахожу это довольно полезным, так как в противном случае мне приходится много работать вручную, чтобы выяснить, нужно ли перезапускать что-либо в моей системе.

Сейчас мне нужно запускать это вручную, но я бы нашел, что это было бы гораздо полезнее, если бы я мог запускать его каждый раз после выполнения команды APT, которая вносит изменения в мою систему. Или после того, как я выполню команду dpkg, которая вносит изменения в мою систему. Так, например, после установки, удаления или настройки любого программного обеспечения, я бы хотел, чтобы оно автоматически выполняло этот маленький скрипт, который я создал. Так каков лучший способ сделать это? Но я также хотел бы делать подобные вещи с другими заказными скриптами, так как же вообще такие вещи делаются?


Информация об ОС:

Description:    Ubuntu 15.04
Release:    15.04
1
задан 27 May 2015 в 12:55

1 ответ

Вот сценарий ленивого человека для получения сделанного задания (рассмотрение, что только один экземпляр процесса работает):

#!/bin/bash
while [ -h /proc/"$(pgrep apt-get)"/exe ]; do
    sleep 10
done
echo "DONE"

Замена echo "DONE" с тем, что Вы хотите сделать затем. Можно выполнить его как cron задание.

Каждый процесс имеет каталог в /proc присвоенный с их PID, полный путь к исполняемому файлу является symlinked как exe внутренняя часть тот каталог. Здесь мы проверяем, существует ли тот файл и является символьной ссылкой.

Мы могли использовать [ -d /proc/PID ], но это даст нам, неправильно заканчиваются как тогда, когда значение PID является пустым, это станет [ -d /proc ], который всегда существует, таким образом, сценарий будет работать неограниченно долго.

0
ответ дан 27 May 2015 в 12:55

Другие вопросы по тегам:

Похожие вопросы: