Running background python process?

Hey,

For my plugin Multimodal semantic search - #2 by louis030195 I want to let the semantic search API starts on Obsidian boot, i.e. start the python process in background (and eventually fine-tune the model in real time according to vault change).

My biggest concern is from a permission point of view, kinda ignorant on that point, I use MacOS now, I know a bit more about how it works in Linux though.

  const runModelInBackground = async () => {
    // run bash process and store the handle in settings
    const cmd =
        // eslint-disable-next-line max-len
        `${pythonInterpreter} ${pluginpath}/api.py --port ${port} --model ${model}`;
    console.log(cmd);

    const handle = exec(cmd, (error, stdout, stderr) => {
      console.log(`stdout: ${stdout}`);
      console.log(`stderr: ${stderr}`);
      if (error !== null) {
        console.log(`exec error: ${error}`);
      }
    });
    plugin.api = handle;
    // log
    handle.stdout.on("data", (data) => {
      console.log(`stdout: ${data}`);
    }).on("error", (err) => {
      console.log(`error: ${err}`);
    }).on("close", (code: any) => {
      console.log(`child process exited with code ${code}`);
    });
  };

So can we run background python process in Obsidian plugin API?
Thanks!