Сценарий, чтобы проверить, работает ли программа правильно

У меня есть две программы Python, работающие на двух различных экранах. На третьем экране я хочу запустить скрипт, который проверяет, работают ли и программы Python и также если они работают правильно (возможно, проверяют консольный вывод, чтобы определить, как ожидалось ли вывод). Как я могу сделать что-то вроде этого со сценарием оболочки?

#!/bin/sh

program1="$(ps -ef | grep '[p]ython my_program1.py' | awk '{print $2}')"
program2="$(ps -ef | grep '[p]ython my_program2.py' | awk '{print $2}')"

if [ "${program1}" != "" ]
then
        echo "Program1 is running"
else
        echo "Program1 is not running"
fi

if [ "${program2}" != "" ]
then
        echo "Program2 is running"
else
        echo "Program2  is not running"
fi

Это - то, что я имею прямо сейчас. Я думаю не лучший способ, но он должен быть хорошо для меня. В program1 и program2 PIDs от процессов, если они работают. Как я могу заставить живой вывод от них проверять, содержат ли строки данные значения?

0
задан 16 May 2017 в 06:54

1 ответ

Перенаправьте свои сценарии stdout в файл, что-то как:

my_program1.py > /tmp/log.1

Затем в Вашем сценарии читает log.1, чтобы видеть, является ли это, как это должно быть.

, Если Вы хотите видеть свой вывод сценариев на терминале, они работают в, затем вместо того, чтобы перенаправить вывод к использованию файла tee.

my_program1.py | tee /tmp/log.1
1
ответ дан 3 November 2019 в 06:02

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

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