У меня есть файл .py, в котором есть циклы через сценарий bash вот так:
while True:
text = "app cli -- some parameters -- email, password and body for a message"
os.system(text)
Я запускаю его из bash и я могу только остановить эту постоянную отправку сообщений, набрав kill -9 pid в bash
и мой вопрос в том, как я могу регистрировать время начала и окончания (время окончания означает, когда я убил процесс) и количество сообщений / циклов (частота), когда я запускаю его как скрипт и заканчиваю его с bash .. придется ли мне настраивать свой скрипт Python или мне придется настраивать мою команду во время работы? и как?
Я также уверен, что есть более элегантный способ делать то, что я пытаюсь сделать, я просто новичок ...
Единственное, что мне удалось сделать, это время, сколько времени уходит на отправку одного сообщения за раз .. и это не особо помогает ..
эй, да, в основном хочу бомбардировать наш сервер приложений, постоянно отправляя сообщения от пи, чтобы проверить его емкость и то, как он справляется со стрессом, поэтому мне нужно регистрировать много вещей, и частота важна
Интересно, пригодится ли это? Я не слишком знаком с Linux






Для регистрации времени вы можете использовать команду time (Unix).
Например, если я запустил эту программу:
iterations = 0
while True:
// do something
iterations+=1
print iterations
Вызовите сценарий, используя следующую команду:
time python myscript.py
После этого, допустим, вы останавливаете выполнение с помощью Cntr+C или любой другой принудительной остановки.
Теперь вы можете проверить количество времени, в течение которого вы запускаете скрипт, и сколько итераций вы получили, проверив вывод, который в моем случае:
7773
7774
7775
Traceback (most recent call last):
File "script.py", line 5, in <module>
print counter
KeyboardInterrupt
real 0m2.447s
user 0m0.109s
sys 0m0.234s
Обратите внимание, что вы можете найти в документации команды time значение трех значений времени, которые вы получаете от нее.
спасибо за это, могу ли я перенаправить ответы с сервера, которые появляются в bash, и вывод команды time в файл журнала, до сих пор я использовал это {time ./stresstest02.py; } 2> time.txt, но это только время. есть ли способ объединить 2? выходы
Например, (time ls) > log.log 2>&1 записывает выходные данные time и ls в один и тот же файл.
«Я также уверен, что есть более элегантный способ сделать то, что я пытаюсь сделать» Мне непонятно, что вы пытаетесь сделать, не могли бы вы пояснить цель сценария?