Для управления процессом через веб-интерфейс можно использовать различные технологии, такие как AJAX, WebSocket или REST API. Веб-интерфейс может отправлять запросы к серверу, который будет выполнять нужные действия с процессом, такие как запуск, остановка или перезапуск.
Чтобы управлять сторонним процессом без использования глобальных переменных в Python, можно использовать механизмы межпроцессного взаимодействия, такие как сокеты, очереди сообщений или файлы. В этом случае каждый экземпляр класса будет работать независимо друг от друга и сможет управлять своим процессом.
Пример кода для управления процессом без использования глобальных переменных в Python:
```python
import subprocess
import os
import signal
import time
class ProcessManager:
def __init__(self, process_name):
self.process_name = process_name
self.process = None
def start_process(self):
self.process = subprocess.Popen(self.process_name, shell=True)
def stop_process(self):
os.kill(self.process.pid, signal.SIGTERM)
self.process = None
def restart_process(self):
if self.process:
self.stop_process()
time.sleep(1) # Ждем, чтобы процесс успел завершиться
self.start_process()
manager = ProcessManager("some_process.py")
manager.start_process()
time.sleep(10) # Подождать некоторое время, чтобы процесс поработал
manager.stop_process()
manager.restart_process()
```
Этот код создает класс `ProcessManager`, который может запускать, останавливать и перезапускать указанный процесс. Каждый экземпляр класса работает с собственным процессом и не зависит от других экземпляров.