Как определить, запущен ли процесс на каком-либо из узлов в сетке с несколькими узлами в UNIX - PullRequest
0 голосов
/ 22 июня 2011

Мой сервер использует GRID.у нас есть 3 узла [любой из них может выполнить мой скрипт, когда я запускаю задание autosys]

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

ps -ead -o% U% p% a |egrep '(ksh | perl)' |grep -v egrep |grep \ "perl. * myprocess.pl \"

есть способ, PS может перечислить все экземпляры процессов со всех узлов в GRID.

, пожалуйста, помогите !!

1 Ответ

0 голосов
/ 12 ноября 2011

Вы можете создать файл start.flag в общей папке.Соблюдайте следующие условия:

, если флаг существует, тогда флаг будет удален и сценарий будет выполнен.После завершения выполнения сценарий снова коснется этого флага.

, если флаг не существует, сценарий просто выйдет, сообщив, что он работает.

Best luck:)

...