Добавил:
Vanomaj
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:lab_5 / lab5_1
.py#!/usr/bin/env python3
import os
import sys
def write_file(output_file_name):
# Открываем файл для записи
with open(output_file_name, "w") as output_file:
# Получаем информацию о памяти процесса с использованием mmap
with open(f"/proc/{process_id}/maps", "r") as maps_file:
for line in maps_file:
output_file.write(line)
print(f"Карта виртуальной памяти сохранена в файле: {output_file_name}")
return 0
def generate_memory_map(process_id):
try:
# Открываем файл для записи карты виртуальной памяти
output_file_name = "memory_map.txt"
if os.path.exists(output_file_name):
choice = input("Файл уже существует. Выберите действие (1.переименовать/2.заменить) (По умолчанию - 2): ")
if choice == "1":
output_file_name = input("Введите новое имя файла: ")
write_file(output_file_name)
elif choice == "2" or choice == "":
write_file(output_file_name)
else:
write_file(output_file_name)
except Exception as e:
print(f"Произошла ошибка: {e}")
if __name__ == "__main__":
if len(sys.argv) != 2:
print("Использование: ./lab5_1.py <Идентификатор процесса>")
else:
process_id = sys.argv[1]
generate_memory_map(process_id)