Журнал, если процесс активен или нет

Я пытаюсь создать веб-страницу, которая показывает, активен ли процесс или нет, но как я могу автоматизировать проверку процесса и записать ее в файл .txt или .html, чтобы я мог показать его на своем сайте?

1
задан 12 January 2018 в 13:24

1 ответ

Вы можете использовать, например, pgrep для поиска процессов с конкретным именем.

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

$ pgrep rhythmbox
827

Если напечатаны какие-либо числа (и статус выхода равен 0), это означает, что нашел соответствующий процесс. В противном случае вывод будет пустым, и вы получите ненулевой статус выхода.

Теперь мы можем просто запускать это снова и снова в бесконечном цикле. Чтобы сэкономить ресурсы, мы ждем секунду между каждой итерацией. В зависимости от того, найден соответствующий процесс или нет, этот маленький скрипт ниже запишет yes или no в файл status.txt.

#!/bin/bash
while sleep 1 ; do 
    if pgrep rhythmbox &>/dev/null ; then 
        echo "yes" > status.txt
    else 
        echo "no" > status.txt
    fi
done 

Вы также можете сделать что-нибудь более полезное внутри цикла, например, например. переключение символических ссылок между двумя готовыми HTML-документами. Предположим, у нас есть running.html и stopped.html, и мы хотим иметь правильный из них, связанный как status.html, который затем может обслуживаться вашим веб-сервером. Это может выглядеть так:

#!/bin/bash
while sleep 1 ; do 
    if pgrep rhythmbox &>/dev/null ; then 
        ln -s running.html status.html
    else 
        ln -s stopped.html status.html
    fi
done 

Я не проверял, как веб-сервер может реагировать на это переключение каналов, хотя также возможно, что он кеширует данные, и изменения не будут немедленно обновлены, без понятия. Вы должны попробовать это.

1
ответ дан 12 January 2018 в 13:24

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

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