Это то, что я использую:
#!/bin/bash
#check if abc is running
if pgrep abc >/dev/null 2>&1
then
# abc is running
else
# abc is not running
fi
На простом английском языке: если «pgrep» возвращает 0, процесс выполняется, в противном случае это не так.
[!d3 ]Связанные чтения:
Bash Scripting :: String Comparisons
Руководства Ubuntu Сравнение строк
Мое предложение - использовать Edubuntu LTSP (Ubuntu + Linux Terminal Server Project + учебные инструменты) для этого.
Последний раз, когда я управлял компьютерными лабораториями, существовал до того, как существовал Edubuntu, но я использовал LTSP довольно эффективно, и в конечном итоге использовал K12LTSP для этого. Вы можете найти K12LTSP - почтовые архивы все еще находятся в сети, и большинство проблем, с которыми вы столкнулись, будут похожи на те, что есть там.
LTSP отлично подходит для повторного использования старых компьютеров, поскольку большая часть тяжелой работы может быть выполнена на сервер, с отдельными приложениями, такими как Firefox или Scratch, выполняется локально на клиенте, если вы этого захотите. Вам также не нужно беспокоиться о блокировке дисков, поскольку все выполняется с RO с сервера, с / home mount RW (как правило, с использованием NFS). Вы просто устанавливаете сервер между вашим лабораторным маршрутизатором и снаружи и устанавливаете клиентов на загрузку PXE, и вы, как правило, делаете это. Студенты не смогут ничего изменить, и любой ущерб, который они могут причинить своим $ HOME, может быть уничтожен без проблем.
Edubuntu также поставляется с такими инструментами мониторинга клиентов, о которых вы просите. http://www.edubuntu.org/
Другой вариант (хотя и не Ubuntu) заключается в использовании модифицированного изображения SliTaz на одной из систем, которое можно использовать для загрузки PXE всей лаборатории, загрузки изображения в память.
Вы создаете измененное изображение, загружаете первую систему, включаете загрузочный сервер и загружаете другие компьютеры. Это все, что вам нужно сделать.
http://www.slitaz.org/en/